requests

来源:互联网 发布:sftp登录 端口号 编辑:程序博客网 时间:2024/05/17 22:22
import requests

"""发送请求"""
 r = requests.get('https://github.com/timeline.json')
 r = requests.post("http://httpbin.org/post")
 r = requests.put("http://httpbin.org/put")
 r = requests.delete("http://httpbin.org/delete")
 r = requests.head("http://httpbin.org/get")
 r = requests.options("http://httpbin.org/get")

"""传递 URL 参数"""
 payload = {'key1': 'value1', 'key2': 'value2'}
 r = requests.get("http://httpbin.org/get", params=payload)
 print(r.url)

"""响应内容"""
 r.text
 r.content
 r.raw

"""编码"""
 r.encoding
 r.apparent_encoding

"""显示图片"""
 from PIL import Image
 from io import BytesIO
 i = Image.open(BytesIO(r.content))

"""JSON 响应内容"""
 r.json()

"""定制请求头"""
 headers={}

"""更加复杂的 POST 请求"""
 data=为字典或者元组的时候,参数会传到form里;其它放在data里
 JSON=
 文件 files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
      files = {'file': ('report.csv', 'some,data,to,send\nanother,row,to,send\n')}

"""响应状态码"""
 r.status_code
 r.raise_for_status()抛出异常

"""响应头"""
 r.headers

"""Cookie"""
 如果某个响应中包含一些 cookie,你可以快速访问它们:
 r.cookies
 传输cookies=

"""重定向与请求历史"""
 默认情况下,除了 HEAD, Requests 会自动处理所有重定向。
 r.history请求历史
 allow_redirects=False禁止重定向

"""超时"""
 timeout=

"""
会话对象
让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie,
期间使用 urllib3 的 connection pooling 功能。
所以如果你向同一主机发送多个请求,底层的 TCP 连接将会被重用,从而带来显著的性能提升。
"""
from requests import session

"""SSL证书"""
 可以为 verify 传入 CA_BUNDLE 文件的路径,或者包含可信任 CA 证书文件的文件夹路径:
 如果你将 verify=False,Requests 也能忽略对 SSL 证书的验证。

"""代理"""
 proxies = {
   "http": "http://10.10.1.10:3128",
   "https": "http://10.10.1.10:1080",
 }