requests 是python实现的简单易用的HTTP库,使用起来比urllib简洁很多
安装:
pip3 install requests
基本用法:
import requests
GET请求:
r = requests.get('http://httpbin.org/get')
print('GET请求:',r.text)
POST请求:
r = requests.post('http://httpbin.org/post',data={'name':'张三'})
print('POST请求:',r.text)
自定义headers请求:
ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' \
' AppleWebKit/537.36 (KHTML, like Gecko) ' \
' Chrome/83.0.4103.61 Safari/537.36'
headers = {'User-Agent': ua}
r = requests.get('http://httpbin.org/headers',headers=headers)
print('自定义headers请求:',r.text)
带cookies的请求:
cookies = dict(userid='123456',token='de25rrm4k32oi3') r =
requests.get('http://httpbin.org/cookies',cookies=cookies)
print('带cookies的请求:',r.text)
Basic-auth认证请求:
r = requests.get('http://httpbin.org/basic-auth/effort/26324636',auth=('effort','26324636'))
print('Basic-auth认证请求:',r.text)
主动抛出状态码异常:
bad_r = requests.get('http://httpbin.org/status/404')
print(bad_r.status_code)
bad_r.raise_for_status()
使用requests.Session对象请求:
# 创建一个Session()对象
s = requests.Session()
# session对象会保存服务器返回的set-cookies头信息里面的内容
s.get('http://httpbin.org/cookies/set/userid/123456789')
s.get('http://httpbin.org/cookies/set/token/ewf43ffsdf4t5g')
# 下一次请求会将本地所有的cookies信息自动添加到请求头信息里面
r = s.get('http://httpbin.org/cookies')
print('检查session中的cookies:',r.text)
在request中使用代理:
免费代理ip网站:https://ip.jiangxianli.com/
print('不使用代理:',requests.get('http://httpbin.org/ip').json())
proxies = {
'http':'178.63.126.8:1080'
}
r = requests.get('http://httpbin.org/ip',proxies=proxies)
print('使用代理:',r.text)
设置超时访问时间:
r = requests.get('http://httpbin.org/delay/4',timeout=5)
print(r.text)