请求目标构造
import requests
requests.get("http://httpbin.testing-studio.com/get")
请求参数构造
- get query:path、 query
- post body:
- form:
- 结构化请求:json、xml、 json rpc
- binary
Get Query请求
import requests
class TestDemo:
def test_query(self):
payload = {
"level": 1,
"name": "insane"
}
r = requests.get("http://httpbin.testing-studio.com/get", params=payload)
print(r.text)
assert r.status_code == 200
test_requests.py::TestDemo::test_query
============================== 1 passed in 0.75s ==============================
Process finished with exit code 0
PASSED [100%]{
"args": {
"level": "1",
"name": "insane"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.testing-studio.com",
"User-Agent": "python-requests/2.25.0",
"X-Forwarded-Host": "httpbin.testing-studio.com",
"X-Scheme": "https"
},
"origin": "101.205.253.7",
"url": "https://httpbin.testing-studio.com/get?level=1&name=insane"
}
Form请求参数构造
import requests
class TestDemo:
def test_post_form(self):
payload = {
"username": "Insane",
"password": "loafer"
}
r = requests.post("http://httpbin.testing-studio.com/post", data=payload)
print(r.text)
assert r.status_code == 200
test_requests.py::TestDemo::test_post_form
============================== 1 passed in 0.74s ==============================
Process finished with exit code 0
PASSED [100%]{
"args": {},
"data": "",
"files": {},
"form": {
"password": "loafer",
"username": "Insane"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Content-Length": "31",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.testing-studio.com",
"User-Agent": "python-requests/2.25.0",
"X-Forwarded-Host": "httpbin.testing-studio.com",
"X-Scheme": "https"
},
"json": null,
"origin": "101.205.253.7",
"url": "https://httpbin.testing-studio.com/post"
}
文件上传
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)
header构造
- 普通的header:
headers = { 'user-agent': 'my-app/0.0.1'}
r = requests.get(url, headers=headers)
- cookie
cookies = dict(cookies _are='working')
r = requests.get(url, cookies=cookies)