python equests 请求操作
autofelix 人气:0一、安装
pip install requests
二、请求类型
import requests requests.get('https://www.baidu.com') requests.post('https://www.baidu.com') requests.put('https://www.baidu.com') requests.delete('https://www.baidu.com') requests.head('https://www.baidu.com') requests.options('https://www.baidu.com')
三、带参数请求
import requests data = { 'name': 'autofelix', 'age': 25 } response = requests.get('https://www.baidu.com', params=data) print(response.url) print(response.text)
四、自定义headers
import requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko' } response =requests.get('https://www.baidu.com', headers=headers) print(response.text)
五、请求属性
import requests response = requests.get('https://www.baidu.com') # 响应状态码 response.status_code # 响应头 response.headers # 响应cookie response.cookies # 请求url response.url # 历史记录 response.history
六、文件上传
import requests files= {"files":open("git.jpeg","rb")} response = requests.post('https://www.baidu.com/upload', files=files)
七、会话维持
import requests s = requests.Session() s.get('https://www.baidu.com/login') response = s.get('https://www.baidu.com')
八、证书验证
verify
设置False关闭证书验证- urllib3可以解决
InsecureRequestWarning
提示
import requests from requests.packages import urllib3 urllib3.disable_warnings() response = requests.get('https://www.12306.cn', verify=False)
九、代理设置
import requests proxies= { 'http': 'http://127.0.0.1:9999', 'https': 'http://127.0.0.1:8888' } response = requests.get('https://www.baidu.com', proxies=proxies)
十、超时设置
import requests requests.get('https://www.baidu.com', timeout=3)
十一、认证设置
import requests response = requests.get('https://www.baidu.com', auth=('user', '123'))
十二、异常处理
ReadTimeout
是超时错误ConnectionError
是网络错误
import requests from requests.exceptions import ReadTimeout,ConnectionError,RequestException try: response = requests.get('https://www.baidu.com', timout=0.1) print(response.status_code) except ReadTimeout: print('timeout') except ConnectionError: print('connection Error') except RequestException: print('error')
加载全部内容