Python Requests访问网络更方便
作者:yixiaoyao A逍遥之路
一、基本用法
首先,确保你已经安装了 requests 库。如果没有安装,可以通过 pip 命令进行安装:
pip install requests
1. 发送 GET 请求
使用 requests
库发送 GET 请求非常简单。以下是一个示例:
import requests response = requests.get('https://www.example.com') print(response.text)
在这个例子中,我们使用 requests.get()
方法发送一个 GET 请求到 https://www.example.com
,并将响应保存在 response
变量中。然后,我们使用 response.text
属性打印响应内容。
2. 发送 POST 请求
发送 POST 请求与发送 GET 请求类似,只需要将 requests.get()
方法替换为 requests.post()
方法即可。以下是一个示例:
import requests data = {'key1': 'value1', 'key2': 'value2'} # 要发送的数据 response = requests.post('https://www.example.com', data=data) print(response.text)
在这个例子中,我们将要发送的数据保存在 data
字典中,并将其作为 data
参数传递给 requests.post()
方法。然后,我们打印响应内容。
二、处理响应数据
除了使用 response.text
属性获取响应内容之外,你还可以使用其他属性获取响应的元数据和状态码等信息。以下是一些常用的属性:
response.status_code
:返回 HTTP 状态码(例如,200、404 等)。response.headers
:返回响应头信息。response.cookies
:返回响应的 Cookie 信息。response.elapsed
:返回响应所花费的时间(以秒为单位)。response.url
:返回响应的 URL。response.history
:返回请求的历史记录(如果有的话)。response.close()
:关闭响应对象。
以下是一个示例,演示如何使用这些属性:
import requests response = requests.get('https://www.example.com') print(response.status_code) # 输出状态码(例如,200) print(response.headers) # 输出响应头信息(例如,Content-Type、Server 等) print(response.cookies) # 输出响应的 Cookie 信息(如果有的话) print(response.elapsed) # 输出响应所花费的时间(以秒为单位) print(response.url) # 输出响应的 URL(例如,https://www.example.com) print(response.history) # 输出请求的历史记录(如果有的话) response.close() # 关闭响应对象,释放资源。
requests库中的函数参数可以控制请求的各种方面,下面将详细介绍一些常用的参数:
url:请求的URL地址。
例如:requests.get('http://www.example.com')
method:HTTP请求方法,如GET、POST、PUT、DELETE等。
例如:requests.get(url, data=my_data)
headers:一个字典,用于设置请求头信息。
例如:requests.get(url, headers={'Content-Type': 'application/json'})
params:一个字典,用于设置请求参数。这些参数会被添加到URL中。
例如:requests.get(url, params={'page': 1, 'per_page': 10})
data:一个字典或字符串,用于发送POST请求的表单数据。
例如:requests.post(url, data={'key1': 'value1', 'key2': 'value2'})
json:一个字典,用于发送JSON格式的POST请求数据。该参数会自动将字典转换为JSON字符串。
例如:requests.post(url, json={'key1': 'value1', 'key2': 'value2'})
cookies:一个字典,用于设置请求的cookie信息。
例如:requests.get(url, cookies={'cookie_name': 'cookie_value'})
auth:一个元组,包含用户名和密码,用于HTTP Basic Authentication认证。
例如:requests.get(url, auth=('username', 'password'))
files:一个字典,用于发送多部分表单数据。字典的键是文件字段的名称,值是一个包含文件名、文件内容等的字典。
例如:requests.post(url, files={'file_field': ('file_name', open('file_path', 'rb'))})
timeout:一个浮点数,表示请求的超时时间(以秒为单位)。如果请求在指定的时间内没有响应,则会引发超时异常。
例如:requests.get(url, timeout=10.0)
proxies:一个字典,用于设置代理服务器信息。字典的键是代理类型(如'http'、'https'等),值是代理服务器的地址和端口号。
例如:requests.get(url, proxies={'http': 'http://proxy_address:proxy_port'})
allow_redirects:一个布尔值,用于控制是否允许自动重定向。默认为True。如果设置为False,则不会自动处理重定向,需要手动处理重定向的响应。
这些参数只是requests库中可用参数的一部分。更多的参数和详细信息可以查看requests库的官方文档。
以上就是Python Requests访问网络更方便的详细内容,更多关于Python Requests访问网络的资料请关注脚本之家其它相关文章!