安装方式
windows cmd安装命令
pip install requests
下载速度过慢的话可在该命令后面添加国内镜像
1. get请求
#get请求
res = requests.get('http://httpbin.org/ip')
print(res.status_code)
1.1 构造url
利用字典构造url
# 构造url
d = {
'key':'value',
'key2':'value2'
}
res = requests.get('http://httpbin.org/get',params=d)
print(res.url) # 输出 http://httpbin.org/get?key=value&key2=value2
1.2 响应正文文本
# 响应正文文本
r = requests.get('http://httpbin.org/ip')
print (r.text)
#输出
#{
# “origin”: “218.107.63.234”
#}
1.3 Json响应正文
# Json响应正文
res = requests.get('http://httpbin.org/ip')
d = res.json()
print(d)
print(d['origin'])
1.4 定制请求表头
# 定制请求的头部
url = 'http://httpbin.org/headers'
headers = {
'user-agent': 'my-app/0.0.1'
}
res = requests.get(url, headers=headers)
print (res.text)
1.5 获取响应的cookies
# 获取响应的cookies
res = requests.get("http://www.baidu.com")
# 返回CookieJar对象
cookiejar = res.cookies
print(cookiejar)
# 将CookieJar转为字典
cookiedict = requests.utils.dict_from_cookiejar(cookiejar)
print(cookiedict)
1.6 发送带cookies的请求
# 发送带cookies的请求
url = 'http://httpbin.org/cookies'
cookies = {
'cookies_are': 'working'
}
res = requests.get(url, cookies=cookies)
print (res.text)
1.7 请求超时的设置
# 请求的超时设置
url = 'http://httpbin.org/get'
res = requests.get(url, timeout=0.001)
1.8 设置代理(proxies参数)
# 设置代理(proxies参数)
proxies = {
"http": "http://xxxxxxxxxxx",
"https": "http://xxxxxxxxxxx",
}
response = requests.get("http://www.baidu.com", proxies = proxies)
print(response.status_code)
1.9 处理HTTPS请求 SSL证书验证
# 处理HTTPS请求 SSL证书验证
# 要想检查某个主机的SSL证书,你可以使用 verify 参数(也可以不写)
res = requests.get("https://www.baidu.com/", verify=True)
# 也可以省略不写
# response = requests.get("https://www.baidu.com/")
print(res.text)
# 如果想跳过SSl证书验证,把 verify 设置为 False 就可以正常请求了,
# 比如 12306的SSL证书
res = requests.get("https://www.12306.cn/mormhweb/", verify = False)
print(res.text)
2. post请求
# post请求
res = requests.post('http://httpbin.org/post', data={'name': 'leo'})
print(res.status_code)
2.1 以form形式发送post请求
# 以form形式发送post请求
url = 'http://httpbin.org/post'
d = {'key1': 'value1', 'key2': 'value2'}
res = requests.post(url, data=d)
print (res.text)
2.2 以json形式发送post请求
# 以json形式发送post请求
url = 'http://httpbin.org/post'
s = json.dumps({'key1': 'value1', 'key2': 'value2'})
res = requests.post(url, data=s)
print (res.text)