美文网首页
【Python】获取请求头和响应头的cookies

【Python】获取请求头和响应头的cookies

作者: Queenie的学习笔记 | 来源:发表于2021-11-30 11:46 被阅读0次

1.获取请求头中的cookie

url = 'http://xxx.xxx.xxx.xx:xxxx/xxxx/login'
body = {"username": "xxxxx", "password": "xxxx"}

# 1.获取请求头中的cookie
def get_cookie():
    # 创建session对象,使用session发送post请求来获取cookie的值
    session = requests.Session()
    session.post(url, data=body)
    request_cookies = session.cookies.get_dict()
    # print(request_cookies)  #可以打印出来看下有没有获取到
    return request_cookies

2. 获取响应头中的cookie

def get_cookie():       #获取cookie
    response_headers = requests.get(url).headers    #获取响应头信息
    print("response_headers:", response_headers)      #打印响应头部信息确认下响应头中是否有Cookie这个参数
    response_cookies = requests.get(url).headers["cookie"]    #如果响应头中没有cookie这个参数,那么会报KeyError:cookie错误
    print("response_cookies:", response_cookies)   #打印出来看下响应头中的cookie值是什么
    return response_cookies

3. 使用

例如我的登录接口需要在请求头中带上cookie,那么可以这样用:

# 3.登录
def login():
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0",
               "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
               "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
               "Accept-Encoding": "gzip, deflate",
               "Content-Type": "application/x-www-form-urlencoded",
               "Connection": "keep-alive"
            }
    body = {'username': 'xxxxx', 'password': 'xxxxx'}
    reps = requests.post(url, data=body, headers=headers, cookies=get_cookie(), allow_redirects=False)  # 有的项目中登录接口会重定向,设置 allow_redirects=False 使得禁止重定向,是为了获取重定向跳转的请求url;
    print("reps:", reps)    #此时的返回是302

    url_login = reps.headers["Location"]  # 通过reps.headers[‘Location’]拿到重定向的URL
    print("重定向后的url_login:", url_login)

    res = requests.get(url_login, headers=headers, cookies=get_cookie())  # 进行get请求的提交登录
    print("status_code:", res.status_code)

#检查登录方法是否有效
login()

相关文章

  • 【Python】获取请求头和响应头的cookies

    1.获取请求头中的cookie 2. 获取响应头中的cookie 3. 使用 例如我的登录接口需要在请求头中带上c...

  • Electron获取webview中ajax请求内容的方法

    Electron中,可以通过WebRequest监听webview中请求的各个阶段,并且获取或修改请求头和响应头。...

  • 请求头和响应头

    1.得到请求头用request.getHeader(String key)。一般的请求头key有user-agen...

  • 2招带你快速获取响应头与发送头

    今天带大家用两招快速获取响应头以及发送头。 1、获取请求头 想要获取请求头,就需要会用抓包工具,目前比较普遍的就是...

  • HTTP的头信息包括什么

    HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。HTTP的头信息包括通用头、请求头、响应头和实体头四个...

  • HTTP响应头和请求头信息对照表

    HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。HTTP的头信息包括通用头、请求头、响应头和实体头四个...

  • http报文

    起始行:请求起始行、响应起始行首部(头):请求头、响应头、通用头主体:请求主体、响应主体 general 通用头 ...

  • 请求头和响应头总结

    Header解释示例 Accept指定客户端能够接收的内容类型Accept: text/plain, text/h...

  • 常见请求头和响应头

    请求头(客户端->服务端[request]) GET(请求的方式) /newcoder/hello.html(请求...

  • HTTP响应头和请求头

    HTTP的头信息包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号( : )和域值三部分组成。 ...

网友评论

      本文标题:【Python】获取请求头和响应头的cookies

      本文链接:https://www.haomeiwen.com/subject/nnqdxrtx.html