python-requests的简单用法

做一个总结~以便以后参考
本文参考:添加链接描述

import requests

GET请求

eg:

r = requests.get('http://httpbin.org/get')
print(r.url)

在这里插入图片描述

传参

eg:

load = {'key1':'value1','key2':'value2','key3':'None'}
r = requests.get('http://httpbin.org/get',params = load)
print(r.url)

在这里插入图片描述

用列表传递参数

eg:

load = {'key1':'value1','key2':['value2','value3']}
r = requests.get('http://httpbin.org/get',params = load)
print(r.url)

在这里插入图片描述

r.raw返回原始socket respons,需要加参数stream=true
r = requests.get('https://api.github.com/events', stream = True)
print(r.raw)
print(r.raw.read(10))

在这里插入图片描述

传递headers

eg:

url = 'http://httpbin.org'
headers = {'user-agent':'my-app/0.0.1'}
r = requests.get(url,headers = headers)
print(r.url)

在这里插入图片描述

传递cookies
url = 'http://httpbin.org/cookies'
r = requests.get(url,cookies=dict(cookies_are='working'))
#r.text 返回headers中的编码解析的结果,可以通过r.encoding = 'gbk'来变更解码方式
print(r.text)

在这里插入图片描述

JSON响应内容
import requests
r = requests.get('https://github.com/timeline.json')
print(r.json())

POST请求

传递表单
r = requests.post('http://httpbin.org/post',data={'key':'value'})

load = {'key1':'value','key2':'value2'}
r = requests.post('http://httpbin.org/post',data=load)
print(r.text)

在这里插入图片描述

POST提交文件

先制作一个text文件,名为‘test.txt’,内容是‘this is a file’。Requests使得上传多部分编码文件变得很简单:

url = 'http://httpbin.org/post'
files = {'file': open('test.txt', 'rb')}
r = requests.post(url, files=files)
print(r.text)

POST提交表单

传递一个字典给 data 参数就可以了。数据字典在发出请求时会自动编码为表单形式:

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)
响应状态码

使用r.status_code返回响应的状态码

r = requests.get("http://httpbin.org/get")
print(r.status_code)

为使用方便,Requests还附带了一个内置的状态码查询对象:

r = requests.get("http://httpbin.org/get")
print(r.status_code)
print(r.status_code == requests.codes.ok)
异常

如果发送了一个失败请求(非200响应),我们可以通过 Response.raise_for_status()来抛出异常:

bad_r = requests.get('http://httpbin.org/status/404')
print(bad_r.status_code)
bad_r.raise_for_status()

在这里插入图片描述
如果返回码是200,则不会抛出异常,即:

bad_r = requests.get('http://httpbin.org/get')
print(bad_r.status_code)
bad_r.raise_for_status()

在这里插入图片描述

读取头部信息
r = requests.get("http://httpbin.org/get")
print(r.headers)
print(r.headers['Content-Type'])

在这里插入图片描述

重定向与请求历史

默认情况下,除了 HEAD, Requests会自动处理所有重定向。
可以使用响应对象的 history 方法来追踪重定向。


r = requests.get('http://github.com')
print(r.url)
print(r.status_code)
print(r.history)
#如果你使用的是GET, OPTIONS, POST, PUT, PATCH 或者 DELETE,,那么你可以通过 allow_redirects 参数禁用重定向处理:
r = requests.get('http://github.com', allow_redirects=False)
print(r.status_code)

r.history
#如果使用的是HEAD,你也可以启用重定向:
r = requests.head('http://github.com', allow_redirects=True)
print(r.url)
print(r.history

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值