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 相关文章推荐
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
Python实现查找系统盘中需要找的字符
Jul 14 Python
python套接字流重定向实例汇总
Mar 03 Python
Python实现Sqlite将字段当做索引进行查询的方法
Jul 21 Python
Python模块结构与布局操作方法实例分析
Jul 24 Python
PyQt QCombobox设置行高的方法
Jun 20 Python
python使用minimax算法实现五子棋
Jul 29 Python
Django使用消息提示简单的弹出个对话框实例
Nov 15 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
python实现输入三角形边长自动作图求面积案例
Apr 12 Python
keras小技巧——获取某一个网络层的输出方式
May 23 Python
python logging模块的使用详解
Oct 23 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分页类集锦
2014/11/18 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
详解react-refetch的使用小例子
2019/02/15 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
python解析json实例方法
2013/11/19 Python
python检测是文件还是目录的方法
2015/07/03 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
python flask实现分页效果
2017/06/27 Python
python安装教程
2018/02/28 Python
python3.7.0的安装步骤
2018/08/27 Python
PyTorch预训练的实现
2019/09/18 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
应届大专毕业生个人自荐信
2013/09/22 职场文书
师范大学应届生求职信
2013/11/21 职场文书
宿舍标语大全
2014/06/19 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
小平小道观后感
2015/06/09 职场文书
2016年教师节感言
2015/12/09 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python