requests接口请求模块

Requests is an elegant and simple HTTP library for Python, built for human beings.

官网: https://docs.python-requests.org/zh_CN/latest/

安装 Requests

pip install requests

使用requests发送HTTP GET 请求

import requests

url = "https://postman-echo.com/get?name=Milton"
response = requests.request("GET", url)

import requests

url = "http://postman-echo.com/get"
payload={
    "name":"Milton"
}
response = requests.request("GET", url, params=payload)

使用requests发送HTTP POST 请求

POST data 发送表单编码数据

import requests

url = "https://postman-echo.com/post"
payload={"name":"Milton"}
response = requests.request("POST", url,data=payload)

import requests

url = "https://postman-echo.com/post"
payload='name=Milton'
headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
}
response = requests.request("POST", url, headers=headers, data=payload)

POST json 发送json数据

import requests

url = "https://postman-echo.com/post"
payload={"name":"Milton"}
response = requests.request("POST", url, json=payload)

上传文件 files

import requests

url = "https://postman-echo.com/post"
files=[
  ('name',('index.jpg',open(r'C:/index.jpg','rb'),'image/jpeg'))
]
response = requests.request("POST", url, files=files)

定制请求头 headers

import requests

url = "https://postman-echo.com/get"
headers = {
  'my-sample-header': 'mheader',
  'Cookie': 'mid=123;cid=456'
}
response = requests.request("GET", url, headers=headers)

设置cookies

import requests

url = "https://postman-echo.com/get"
cookies = {
    'mid': '123',
    'cid': '456'
}
response = requests.request("GET", url, cookies=cookies)

设置超时 timeout

import requests

url = "https://postman-echo.com/get"
response = requests.request("GET", url, timeout=0.01)

保持会话 Session

import requests

url = "https://postman-echo.com/get"
s = requests.Session()
response = s.request("GET", url)

SSL 证书验证 verify

import requests

url = "https://postman-echo.com/get"
response = requests.request("GET", url,verify=False)

身份验证 auth

import requests

url = "https://postman-echo.com/basic-auth"
headers = {
  'Authorization': 'Basic cG9zdG1hbjpwYXNzd29yZA=='
}
response = requests.request("GET", url, headers=headers)

import requests
from requests.auth import HTTPBasicAuth

auth = HTTPBasicAuth("postman","password")
url = "https://postman-echo.com/basic-auth"
response = requests.request("GET", url, auth=auth)

response 钩子

import requests

def print_url(r,*args,**kwargs):
    print("r:", r)
    print("url:",r.url)

url = "https://postman-echo.com/post"
payload={"name":"Milton"}
response = requests.request("POST", url,data=payload,hooks=dict(response=print_url))

使用代理 proxies

import requests

url = "http://postman-echo.com/get"
proxies={
    "http":"http://127.0.0.1:8888" # fiddler 代理
}
response = requests.request("GET", url,proxies=proxies)

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
My Show My Code