# 什么时候使用form请求 / form请求特点 ?
- 数据量不大
- 数据层级不深的情况
- 通常以键值对传递
# form请求和json请求
data与json传入参数的区别,通过抓包工具查看发现:
- data参数传入的信息的Content-Type为application/x-www-form-urlencoded
- json参数传入的信息的Content-Type为application/json
class TestReq:
def setup_class(self):
self.proxy = {"http": "http://127.0.0.1:8888", "https": "http://127.0.0.1:8888"}
def test_data(self):
data = {"howarts": "school"}
# 通过data参数传入请求体信息
r = requests.post("https://httpbin.testing-studio.com/post", data=data,
proxies=self.proxy, verify=False)
print(r.json())
def test_json(self):
data = {"howarts": "school"}
# 通过json参数传入请求体信息
r = requests.post("https://httpbin.testing-studio.com/post", json=data,
proxies=self.proxy, verify=False)
print(r.json())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
可以发现,通过json传递的信息,返回是由data部分返回参数,请求headers的content-type是application/json,并非通过form表单的形式传递数据。

而通过form表单传输数据时,form的数据在请求的body中,可以明显观察到与json传递不同。
