文章目录
python包-requests
官网:https://docs.python-requests.org/en/latest/user/install/
关于requests包
Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,Requests它会比urllib更加方便,可以节约我们大量的工作。
requests包发送http请求,获取响应数据
安装和使用
python中requests库使用方法详解
参考URL: https://zhuanlan.zhihu.com/p/137649301
命令:pip install requests
项目导入:import requests
使用直接看官网 快速开始
import requests
r = requests.get('https://api.github.com/events')
r = requests.post('https://httpbin.org/post', data={'key': 'value'})
r = requests.put('https://httpbin.org/put', data={'key': 'value'})
r = requests.delete('https://httpbin.org/delete')
r = requests.head('https://httpbin.org/get')
r = requests.options('https://httpbin.org/get')
python requests 请求 超时设置
使用 timeout
参数可以设定等待连接的秒数,如果等待超时,Requests会抛出异常
>>> 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=0.001)
>>> requests.get('https://www.baidu.com',timeout=0.5)
<Response [200]>
工作中遇到的常见问题整理
访问https网站,报错 certificate verify failed
问题背景:
在response =requests.get(url)打开一个https连接时报如下错误:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)>
解决办法如下,添加一个 verify=False:
response= requests.get(url=link, verify=False).json()
访问非http端口报错:raise ConnectionError(err, request=request)
问题背景:
当我们访问非http端口报错时,报错 raise ConnectionError(err, request=request)
解决方案:
使用异常捕获处理
demo如下: