requests
是 Python 中一个非常流行的 HTTP 库,它使得发送 HTTP 请求变得非常简单。以下是关于 requests.get()
方法的详细使用说明和示例:
语法
pythonrequests.get(url, params=None, **kwargs)
参数
url
(str): 请求的 URL。params
(dict, optional): 查询参数,将自动转换为 URL 编码形式。**kwargs
: 其他可选参数,如headers
,cookies
,timeout
等。
返回值
返回一个 Response
对象,包含请求的响应内容。
示例
1. 基本使用
pythonimport requests
response = requests.get('https://api.example.com/data')
# 获取响应状态码
status_code = response.status_code
print(f'Status Code: {status_code}')
# 获取响应内容(以文本形式)
text = response.text
print(text)
# 获取响应内容(以 JSON 形式,如果响应内容是 JSON)
json_data = response.json()
print(json_data)
2. 带有查询参数的 GET 请求
pythonimport requests
params = {
'key1': 'value1',
'key2': 'value2'
}
response = requests.get('https://api.example.com/data', params=params)
# URL 将会是 'https://api.example.com/data?key1=value1&key2=value2'
print(response.url)
3. 设置请求头
pythonimport requests
headers = {
'User-Agent': 'my-app/0.0.1',
'Accept': 'application/json'
}
response = requests.get('https://api.example.com/data', headers=headers)
# 你可以检查请求头是否设置成功
print(response.request.headers)
4. 设置超时
pythonimport requests
try:
response = requests.get('https://api.example.com/data', timeout=5) # 设置超时为 5 秒
print(response.text)
except requests.exceptions.Timeout:
print('Request timed out')
5. 发送带有身份验证信息的 GET 请求
pythonimport requests
from requests.auth import HTTPBasicAuth
response = requests.get('https://api.example.com/data', auth=HTTPBasicAuth('username', 'password'))
# 你也可以使用元组进行身份验证
response = requests.get('https://api.example.com/data', auth=('username', 'password'))
返回数据查看方法
在Python中,当你使用requests.get()
方法发送HTTP GET请求时,返回的是一个Response
对象。这个对象包含了从服务器获取的各种信息,比如状态码、响应头、响应内容等。下面是如何查看requests.get()
返回数据的语法和示例:
语法
pythonimport requests
response = requests.get(url, params=None, **kwargs)
# 访问Response对象的属性或方法
status_code = response.status_code # 访问HTTP状态码
headers = response.headers # 访问响应头
text = response.text # 访问响应体内容(文本形式)
content = response.content # 访问响应体内容(二进制形式)
json = response.json() # 如果响应体是JSON,将其解析为Python对象
示例
1. 发送GET请求并获取状态码和内容
pythonimport requests
url = 'https://api.example.com/data'
response = requests.get(url)
# 获取状态码
print('Status Code:', response.status_code)
# 获取响应内容(文本形式)
print('Response Text:', response.text)
# 如果响应是JSON格式,可以这样获取数据
try:
data = response.json()
print('JSON Data:', data)
except ValueError:
print('Response content is not in JSON format.')