requests的一些操作笔记

import requests,json
url = 'http://httpbin.org/get'
r = requests.get(url)
print(r.status_code,r.reason) # 200 ok
print(r.text)

s = requests.post('http://httpbin.org/post',data={'spam':1})
print(type(s.text)) # str类型
print((s.json())['form']) # {'spam': '1'}


headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) '
             'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
h = requests.get('http://httpbin.org/headers',headers=headers)
print("自定义headers请求:",h.json())


cookies = dict(userid='123',token='dsfsfsafdsa')
c = requests.get('http://httpbin.org/cookies',cookies=cookies)
print("带cookies请求:",c.json()) # {'cookies': {'token': 'dsfsfsafdsa', 'userid': '123'}}


au = requests.get('http://httpbin.org/basic-auth/name/123456',auth=('name','123456'))
print('Basic-auth认证请求:',au.text) # '{\n  "authenticated": true, \n  "user": "name"\n}\n'
print('Basic-auth认证请求:',au.json()) # {'authenticated': True, 'user': 'name'}

#使用requests.Session对象请求
# 创建一个Session对象
rs = requests.Session()
# session对象会保存服务器返回的set-cookies头信息里面的内容
rs.get('http://httpbin.org/cookies/set/userid/123456')
rs.get('http://httpbin.org/cookies/set/token/XXXXXXXXXXX')
# 下一次请求会将本地所有的cookies信息自动添加到请求头信息里面
rs_ = rs.get('http://httpbin.org/cookies')
print('检查session中的cookies',rs_.json()) # {'cookies': {'token': 'XXXXXXXXXXX', 'userid': '123456'}}

# 代理使用
print('不使用代理:',requests.get('http://httpbin.org/ip').json()) # {'origin': '114.242.33.20'}
# print('使用代理:',requests.get('http://httpbin.org/ip',proxies={'http':'110.243.30.16:9999'}).json())

# 设置延时,如果网址里面的数字大于等于后面timeout的值则超过延时报错
d = requests.get('http://httpbin.org/delay/4',timeout=5)
print("延时",d.text)


# 主动抛出状态异常码
bad_r = requests.get('http://httpbin.org/status/404')
print(bad_r.status_code) # 404
bad_r.raise_for_status() # 访问的是404页面所以会报异常

http://httpbin.org/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值