Python 的 requests 库是一个强大的 HTTP 客户端库,用于发送各种类型的 HTTP 请求

简介: 【5月更文挑战第9天】`requests` 库是 Python 中用于HTTP请求的强大工具。要开始使用,需通过 `pip install requests` 进行安装。发送GET请求可使用 `requests.get(url)`,而POST请求则需结合 `json.dumps(data)` 以JSON格式发送数据。PUT和DELETE请求类似,分别调用 `requests.put()` 和 `requests.delete()`。

Python 的 requests 库是一个强大的 HTTP 客户端库,用于发送各种类型的 HTTP 请求。以下是使用 requests 库发送 HTTP 请求的基本步骤:

首先,你需要安装 requests 库。如果你还没有安装,可以使用 pip 来安装:

bash
pip install requests
安装完成后,你可以使用以下代码来发送 HTTP 请求:

发送 GET 请求:

python
import requests

url = 'https://api.example.com/data'
response = requests.get(url)

检查请求是否成功

if response.status_code == 200:

# 如果成功,打印返回的内容  
print(response.text)  

else:

# 如果失败,打印错误信息  
print('Failed to retrieve data')

发送 POST 请求:

python
import requests
import json

url = 'https://api.example.com/data'
data = {'key1': 'value1', 'key2': 'value2'}
headers = {'Content-Type': 'application/json'}

response = requests.post(url, data=json.dumps(data), headers=headers)

检查请求是否成功

if response.status_code == 200:

# 如果成功,打印返回的内容  
print(response.text)  

else:

# 如果失败,打印错误信息  
print('Failed to post data')

在上面的 POST 请求示例中,我们发送了一个 JSON 格式的数据。json.dumps(data) 将 Python 字典转换为 JSON 格式的字符串。

发送 PUT 和 DELETE 请求:

PUT 和 DELETE 请求的发送方式与 GET 和 POST 非常相似,只是需要调用不同的方法:

python

发送 PUT 请求

response = requests.put(url, data=json.dumps(data), headers=headers)

发送 DELETE 请求

response = requests.delete(url)
处理响应:

response 对象包含了很多有用的信息,如状态码、响应头、响应内容等。你可以通过 response.status_code 获取状态码,通过 response.headers 获取响应头,通过 response.text 或 response.json() 获取响应内容(如果内容是 JSON 格式的话)。

注意:对于非 200 的状态码,你可能需要处理错误或异常。虽然 requests 不会因非 200 的状态码而抛出异常,但最好还是检查状态码并根据需要处理错误。

相关文章
|
24天前
|
XML JSON 数据库
Python的标准库
Python的标准库
162 77
|
4天前
|
缓存 应用服务中间件 Apache
HTTP 范围Range请求
HTTP范围请求是一种强大的技术,允许客户端请求资源的部分内容,提高了传输效率和用户体验。通过正确配置服务器和实现范围请求,可以在视频流、断点续传下载等场景中发挥重要作用。希望本文提供的详细介绍和示例代码能帮助您更好地理解和应用这一技术。
41 19
|
12天前
|
JSON JavaScript 前端开发
什么是HTTP POST请求?初学者指南与示范
HTTP POST请求是一种常用的HTTP方法,主要用于向服务器发送数据。通过合理设置请求头和请求主体,可以实现数据的可靠传输。无论是在客户端使用JavaScript,还是在服务器端使用Node.js,理解和掌握POST请求的工作原理和应用场景,对于Web开发至关重要。
132 18
|
11天前
|
JSON 数据格式
.net HTTP请求类封装
`HttpRequestHelper` 是一个用于简化 HTTP 请求的辅助类,支持发送 GET 和 POST 请求。它使用 `HttpClient` 发起请求,并通过 `Newtonsoft.Json` 处理 JSON 数据。示例展示了如何使用该类发送请求并处理响应。注意事项包括:简单的错误处理、需安装 `Newtonsoft.Json` 依赖,以及建议重用 `HttpClient` 实例以优化性能。
54 2
|
25天前
|
XML JSON 数据库
Python的标准库
Python的标准库
47 11
|
25天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
64 8
|
Web App开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
TCP洪水攻击(SYN Flood)的诊断和处理 Posted by  海涛  on 2013 年 7 月 11 日 Tweet1 ​1. SYN Flood介绍 前段时间网站被攻击多次,其中最猛烈的就是TCP洪水攻击,即SYN Flood。
1013 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
线程的状态有:new、runnable、running、waiting、timed_waiting、blocked、dead 当执行new Thread(Runnabler)后,新创建出来的线程处于new状态,这种线程不可能执行 当执行thread.start()后,线程处于runnable状态,这种情况下只要得到CPU,就可以开始执行了。
739 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
ZooKeeper 保证了数据的强一致性,  zk集群中任意节点(一个zkServer)上的相同znode下的数据一定是相同的。
809 0
|
Web App开发 前端开发