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 相关文章推荐
9种python web 程序的部署方式小结
Jun 30 Python
基于python的Tkinter实现一个简易计算器
Dec 31 Python
Python中的Descriptor描述符学习教程
Jun 02 Python
Python线程创建和终止实例代码
Jan 20 Python
python3获取当前文件的上一级目录实例
Apr 26 Python
在Python中输入一个以空格为间隔的数组方法
Nov 13 Python
Python魔法方法功能与用法简介
Apr 04 Python
python网络应用开发知识点浅析
May 28 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
Nov 01 Python
Python入门之基础语法详解
May 11 Python
python字典进行运算原理及实例分享
Aug 02 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中session_unset与session_destroy的区别分析
2011/06/16 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
JavaScript 私有成员分析
2009/01/13 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
属于你的jQuery提示框(Tip)插件
2016/01/20 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
vue实现树状表格效果
2020/12/29 Vue.js
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
浅析Python 引号、注释、字符串
2019/07/25 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
python绘制彩虹图
2019/12/16 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
python 通过exifread读取照片信息
2020/12/24 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
后备干部考察材料
2014/02/12 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
承诺书怎么写
2014/03/26 职场文书
学习经验交流会主持词
2014/04/01 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
总经理岗位职责范本
2015/04/01 职场文书
婚庆司仪开场白
2015/05/29 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS