Jche
qwqqqqqq

python request

2021-12-07 first

start

在写模拟登录的时候需要用到python request模块,并且要抓包发包,只能说一无所知,甚至不知道url是什么。写一写给自己科普点网络常识,以方便听懂dalao们聊技术。

所需要准备的包中的内容

url:意思是我们常称为的网址,例如:

1
url = "https://baidu.com"

user-agent:指用户代理,可以通过查看抓包的内容来看自己的user-agent,例如:

1
Mozilla/5.0 (Linux; Android 10; Pixel 2 Build/QQ3A.200805.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.186 Mobile Safari/537.36

这些是请求头中的内容,可能需要用到的还有很多,用到了在学,寄(摆烂

Accept、Accept-Charset、Accept- Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent

这一大堆都可能会用到

因为这次需要实行的是模拟登录,所以发包包内需要的内容是一些登录相关的数据,在这里需要使用python字典来实现。例如:

1
2
3
4
5
login = {
"userName":"12345678901",
"app_id":"7",
"password":"c3l5czc5OTc=\n"
}

准备工作做足了的话就可以开始写请求了)

request 请求

一般需要请求都是带参数的请求,get和post其实差距不是很大,从网上查了资料大概是这样的:

1
2
3
$ hexo requests.get(url,params={"key1":"value1"})
requests.post(url,data={"key1":"value1","key2":"value2"})
requests.post(url,json={"key1":"value1","key2":"value2"})

如果写出来大概是这样,有请求头和respnse:(此处的body和my_header是定义的py字典)

1
2
$ hexo response = requests.post(url,params=body,headers=my_header)
print(response.json)

因为这里比较疑惑data和params有什么区别,通过资料了解到这是两种携带参数的方法。

简单来说,params是用来发送查询字符串,而data、json是用来发送正文的。
这两种参数post方法都可以用,get方法只能发查询字符串,不能发送正文。

params会将参数key、value拼接在url后;
json 表示使用application/json方式提交请求。接收方request.body的内容为’{“a”: 1, “b”: 2}’的这种形式;
data 表示使用application/form-urlencode方式提交请求,接收方request.body的内容为a=1&b=2的这种形式。

需要注意的

其实请求里使用python字典要包括的东西很多(大概),第一次写也没完全了解大概需要去放些什么东西在请求头和包里,就抓到啥放啥)

请求头里可能还需要time out,accept之类的,补充一点互联网上捞到的看看。

1
2
3
4
5
6
7
time_str = str(int(1000 * time.time()))
key_dict = {
"source": "zh",
"target": "en",
"sourceText": "发送 POST 请求",
"sessionUuid ": "translate_uuid" + time_str
}

END

摆烂人要为了自己兢兢业业捏

今天听的是RISE

1
2
Target = 'have fun and rise'
print(Target)

Author: John Doe

Link: http://example.com/2021/12/07/python-request/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
python字节流与字符串与aes解密函数
CATALOG
  1. 1. start
    1. 1.1. 所需要准备的包中的内容
    2. 1.2. request 请求
    3. 1.3. 需要注意的
    4. 1.4. END