一、requests模块(post)请求篇
‘’’
利用parse模块模拟post请求
分析百度词典
分析步骤:
import requests
baseurl = ‘http://fanyi.baidu.com/sug’
存放用来模拟form的数据一定是dict格式
data = {
# girl是翻译输入的英文内容,应该是由用户输入,此处使用硬编码
‘kw’: ‘girl’
}
我们需要构造一个请求头,请求头部应该至少包含传入的数据的长度
request要求传入的请求头是一个dict格式
headers = {
# 因为使用post,至少应该包含content-length 字段
‘Content-Length’:str(len(data))
}
有了headers,data,url,就可以尝试发出请求了
rsp = requests.post(baseurl, data=data, headers=headers)
print(rsp.text)
print(rsp.json())
二、 requests模块(代理)篇
- 代理验证
#可能需要使用HTTP basic Auth, 可以这样
# 格式为 用户名:密码@代理地址:端口地址
proxy = { “http”: "china:[email protected]:4444"}
rsp = requests.get(“http://baidu.com”, proxies=proxy)
- web客户端验证
- 如果遇到web客户端验证,需要添加auth=(用户名,密码)
auth=(“test1”, “123456”)#授权信息
rsp = requests.get(“http://www.baidu.com”, auth=auth)