安装requests的库:
pip install requests
接口请求构造:
先引用import requests
发送get请求:
r = requests.get(url='url')
发送post请求:
r =requests.post(url='url',data={'key':'value'})
发送put请求:
r =requests.post(url='url',data={'key':'value'})
发送delet请求:
r =requests.delete(url='url')
发送head请求:
r =requests.head(url='url')
发送option请求:
r =requests.option(url='url')
其他重要请求参数如下:
下面的参数都是非必需参数,但是如果需要对请求做额外的定制化,则需要一下这些参数的作用。
①通过传入dict定制请求头
headers =t'user-agent':my-app/..1'}
r = requests. get(url, headers=headers)
②data参数发送编码为表单形式的数据单
> payload {'key1': valuel','key2': 'value2'}
r = requests. post("http: //httpbin. org/post",data=payload)
print(r. text)
③fles参数
上传文件,dict格式。
url='http: //httpbin.org/post
》iles= {'file': open('report. xls', 'rb')}
》r=requests. post(url, files=files)
》r.text
④timeout参数设定超时时间(秒),到达这个时间之后会停止等待响应:
>>> requests.get(http: //github. com', timeout=0.001)
Traceback(most recent call last):
File"<stdin>", line 1, in <module>
requests. exceptions. Timeout:
HTTPConnectionPool(host='github. com', port=80): \
Request timed out. (timeout=.001)
注意: timeout仅对连接过程有效,与响应体的下载无关。 timeout并不是整个下载响应的时间限制,而是如果服务器在 timeout秒内没有应答,将会引发一个异常(更精确地说,是在 timeout秒内没有从基础套接字上接收到任何字节的数据时),如果不设置 timeout将一直等待。
⑤allowredirects参数
控制是否启用重定向,bool类型,选择True为启用,选择 False为禁用
import requests
>>>r= requests. get('http: //github. com', allow_redirects=false)
>>>r.status_code
301
⑥proxies参数
设置代理 dict key http https格式,key值为选择的协议,可以分别设置http请求和https请求的代理
import requests
proxies={
'http': 'http: //10.10.1.10: 3128'
}
'https': 'http: / 110,10.1. 10: 1080'
requests. get( 'https: //api. github. com/events', proxies=proxies)
verify参数可以传入bool值或者 string,默认为True。如果设置为 False的即为忽略对SSL证书的验证;反之就是需要做验证;如果传入值为 string的话,代表指定本地的证书作为客户端证书。
从本地传入证书
import requests
requests.get('https: //github. com')