python获取服务器响应cookie的实例


Posted in Python onDecember 28, 2018

总结

调试网站获取cookies时请查看,r.header和r.request.header这两个属性,因为cookie说不准出现在他们俩谁里面。

先贴一个代码

import re
import requests
from bs4 import BeautifulSoup
def printHeaders(headers):
 for h in headers:
 print(h+" : "+headers[h] + '\r\n')

def printCookies(cookies):
 for h in cookies:
 print(h+" : "+cookies[h] + '\r\n')

def loginFw(id,password):
 url = "http://xxxxx/login.asp" 
 try:
 headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
   'Host':'www.xxx.org',
   'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
   'Accept-Language':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
   'Accept-Encoding':'gzip, deflate',
   'Content-Type':'application/x-www-form-urlencoded',
   'Referer':'http://xxx/login.asp',
   'Connection':'keep-alive',
   }
 params = {"Reglname":id,"reglpassword":password}
 r = requests.post(url,data=params,headers=headers)
 printHeaders(r.request.headers) #服务器返回的cookie需要用r.request里的headers来获取
 printHeaders(r.headers) #这里是获取不到服务器返回的cookie的

 r.encoding = 'utf-8'

 return r.text
 except Exception as e:
 print("登陆错误:"+str(e))




ret = loginFw("xxx@qq.com","xxx")
#print(ret)

事情经过

事情的发生是这样的,今天我在调试一个网站的模拟登陆,但是怎么调试都调试不出来这个网站返回的cookie(因为我是用r.headers来获取cookies的),后来我就在想是不是我的请求头没有设置正确,然后我就遍历了r.request.headers,然后这个变量如实的打印了我的请求头的信息,但是我仔细一看cookie怎么出现了变化,咦,这不就是我需要的响应cookie吗!

难道是我对r.request这个对象的理解出错了吗?以前我一直认为这个对象里面存储的是我请求发出去的信息,现在怎么会出现响应cookie呢?

就在我百撕不得其解的时候,我去翻阅了requests库的官方文档关于respond对象中包含的request的解释,它上面写着“The PreparedRequest object to which this is a response.”(表示看不到什么意思,百度翻译也翻译不清楚),咦,好像是和响应有关啊,看来应该是我的理解出现了错误。

更好的解决方案

那当然是用requests提供的"会话对象",他能够自动的保留请求所获取的参数。

具体请跳转传送门:

http://cn.python-requests.org/zh_CN/latest/user/advanced.html#request-and-response-objects

后来

后来我发现原来是因为我在请求头里面写了“Host”,“Referer”,导致Cookie出现异常的原因,所以以后不要随便写这两个参数了,要写就照着封包里的写。

以上这篇python获取服务器响应cookie的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
Mac下Anaconda的安装和使用教程
Nov 29 Python
django使用LDAP验证的方法示例
Dec 10 Python
Django框架封装外部函数示例
May 28 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
Jun 04 Python
如何使用Python 打印各种三角形
Jun 28 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
python中几种自动微分库解析
Aug 29 Python
Win10+GPU版Pytorch1.1安装的安装步骤
Sep 27 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
Jan 03 Python
Python tkinter和exe打包的方法
Feb 05 Python
Flask处理Web表单的实现方法
Jan 31 Python
基于Python在MacOS上安装robotframework-ride
Dec 28 #Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 #Python
Python编程图形库之Pillow使用方法讲解
Dec 28 #Python
对python中大文件的导入与导出方法详解
Dec 28 #Python
Python编程深度学习计算库之numpy
Dec 28 #Python
python将txt文档每行内容循环插入数据库的方法
Dec 28 #Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
Dec 28 #Python
You might like
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
动态控制Table的js代码
2007/03/07 Javascript
HTML中不支持静态Expando的元素的问题
2007/03/08 Javascript
项目实践之javascript技巧
2007/12/06 Javascript
Javascript 错误处理的几种方法
2009/06/13 Javascript
jquery uaMatch源代码
2011/02/14 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
[11:44]Ti9 OG夺冠时刻
2019/08/25 DOTA
基于Python os模块常用命令介绍
2017/11/03 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
详解django中使用定时任务的方法
2018/09/27 Python
django-csrf使用和禁用方式
2020/03/13 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
公司活动策划方案
2014/01/13 职场文书
公司任命书模板
2014/06/06 职场文书
环境保护建议书
2014/08/26 职场文书
2015年暑假生活总结
2015/07/13 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS