版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iFan138/article/details/88425554
在这里只是记录下requests的常用使用方法,因为官方文档已经写得很全面了,所以不再重复。
基础使用
安装
pip install requests
GET
import requests
params = {
"key":"value"
}
url = "www.demo.com"
headers = {
"Accept": "application/json, text/plain, */*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9",
"Connection": "keep-alive",
"Host": "www.demo.com",
"Origin": "http://www.demo.com",
"Referer": url,
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
}
cookie = {
"key":"value"
}
# 设置 get 的url
# 设置 get 的请求参数
# 设置 get 的消息头
# 设置 get 的 cookie
# 禁用重定向 allow_redirects
# 设置超时失败 单位(5s) timeout=5
# 取消 https 认证 verify=False
# !!! 本地证书的私有 key 必须是解密状态。目前,Requests 不支持使用加密的 key
# or 设置 SSL证书的路径 verify=/path/to/certfile
# or cert=('/path/client.cert', '/path/client.key')
# 设置代理
# proxies = {
# "http": "http://10.10.1.10:3128",
# "https": "http://10.10.1.10:1080",
# "http": "http://user:[email protected]:3128/",
# }
# proxies=proxies
response = requests.get(url, params=params, headers=headers, cookie=cookie)
# 是否请求成功
print( response.ok )
# 二进制形式的原始内容 需要解码
print( response.content )
# 推测解码后的内容
print( response.text )
# 返回中带的编码方式
print( response.encoding )
# 推测的解码方式
print( response.apparent_encoding )
# 如果返回结果是json形式
print( response.json() )
# 返回的消息头
print( response.headers )
# 返回的cookie
print( response.cookie )
# 经过解析后的url 可作为url去重的依据
print( response.url)
发送和返回二进制信息
发送-文件
files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
response = requests.post(url, files=files)
下载图片
from PIL import Image
from io import BytesIO
i = Image.open(BytesIO(response.content))
# 或者
with open("img.png", "wb") as file:
file.write(response.content)