Python request库

https://requests.readthedocs.io/zh_CN/latest/

requests cookie与会话维持session cookie
requests cookie
主要是对requests请求的cookie进行获取和设置,请看以下代码。
## 获取cookie

import requests

response = requests.get("http://www.baidu.com")
print(response.cookies)

for key, value in response.cookies.items():
    print(key+"="+value)
"""
]>
BDORZ=27315
"""

##设置cookie

import requests

jar = requests.cookies.RequestsCookieJar()
jar.set('tasty_cookie', 'yum', domain='httpbin.org', path='/cookies')
jar.set('gross_cookie', 'blech', domain='httpbin.org', path='/cookies')

url = 'http://httpbin.org/cookies'
r = requests.get(url, cookies=jar)
print(r.text)
"""
{
  "cookies": {
    "gross_cookie": "blech", 
    "tasty_cookie": "yum"
  }
}
"""
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
会话维持session cookie
由于不同的requests请求之间是独立的,因此维持回话状态,只能创建一个session对象,请求都通过这个对象访问。
以下介绍三种设置会话session的cookie的方法,第一种简单,第二种可以设置cookie的作用域,第三种每个请求都要设置。

import requests
s = requests.Session()
s.get("http://httpbin.org/cookies/set/number/123456")
response = s.get("http://httpbin.org/cookies")
print(response.text)
1
2
3
4
5
add_dict_to_cookiejar对会话进行cookie设置
import requests

s = requests.session()
mycookie = {"tasty_cookie":"yum","gross_cookie":"blech"}

s.cookies = requests.utils.add_dict_to_cookiejar(s.cookies, mycookie)

r = s.get("http://httpbin.org/cookies")
print(r.text)
"""
{
  "cookies": {
    "gross_cookie": "blech", 
    "tasty_cookie": "yum"
  }
}
"""
 

你可能感兴趣的:(python,request)