Requests is an elegant and simple HTTP library for Python, built for human beings.
安装 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)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。