下面就来详细讲解一下“Python之requests的使用(一)”的完整攻略。
1. HTTP协议及requests库简介
HTTP(Hypertext Transfer Protocol)是一种协议,它建立在TCP/IP协议之上,用于客户端和服务器之间的通信。在HTTP中,客户端向服务器发送HTTP请求,服务器响应该请求并返回HTTP响应,从而建立起一次基于请求和响应的通信。
requests库是Python中用于发送HTTP请求的第三方库。使用requests库,可以轻松地向远程服务器发送HTTP请求,同时处理响应信息。
2. requests库的基本用法
导入requests库:
import requests
发送GET请求:
response = requests.get('http://www.example.com') # 发送GET请求
print(response.text) # 打印响应内容
发送POST请求:
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('http://www.example.com', data=data) # 发送POST请求
print(response.text) # 打印响应内容
3. requests库常用方法详解
发送HTTP请求的基本方式有GET和POST两种,requests库提供了对应的方法:
- requests.get(url, params=None, **kwargs):发送GET请求。
- requests.post(url, data=None, json=None, **kwargs):发送POST请求。
其中,参数params用于指定请求的参数;参数data用于指定POST请求中的表单数据;参数json用于指定POST请求中的JSON数据;参数**kwargs用于传递其他HTTP请求参数,例如headers、timeout等。
以下是requests库常用方法的详细说明:
- response = requests.request(method, url, **kwargs):发送HTTP请求,method可选项有GET、POST、PUT、DELETE、HEAD等。
- response.status_code:HTTP响应状态码。
- response.text:HTTP响应内容,以字符串形式返回。
- response.json():HTTP响应内容,以JSON形式返回。
- response.headers:HTTP响应头信息。
- response.cookies:HTTP响应Cookies。
- response.content:HTTP响应正文,以bytes形式返回。
4. 示例说明
以下是两个使用requests库的示例:
示例一:获取IP地址
import requests
url = 'http://httpbin.org/ip'
response = requests.get(url)
if response.status_code == 200:
print(response.json()['origin'])
else:
print('请求失败')
解析:该示例发送GET请求获取IP地址。httpbin.org是一个HTTP请求测试服务器,此处访问其API接口/ip,可以返回发起请求的IP地址。获取IP地址可以通过解析返回结果中的'origin'字段实现。
示例二:文件上传
import requests
url = 'http://httpbin.org/post'
files = {'file': open('file.txt', 'rb')}
response = requests.post(url, files=files)
if response.status_code == 200:
print(response.json()['files'])
else:
print('请求失败')
解析:该示例采用POST方式发送文件上传请求。文件上传需要使用multipart/form-data格式,一般情况下会使用form-data形式来提交文件。在requests库中,可使用files参数来指定上传文件。文件指定方式有两种:使用open()函数打开文件和使用字符串形式指定文件内容。请求成功后,可通过解析返回结果中的'files'字段得到上传文件的相关信息。
5. 总结
本篇攻略详细介绍了Python中使用requests库进行HTTP请求的基本使用方法和常用方法,同时介绍了两个使用requests库的实际应用示例。对于使用requests库进行HTTP请求的初学者,本篇攻略希望可以为您提供一些指导。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python之 requests的使用(一) - Python技术站