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 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
python使用socket向客户端发送数据的方法
Apr 29 Python
详解Python3的TFTP文件传输
Jun 26 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
Django调用百度AI接口实现人脸注册登录代码实例
Apr 23 Python
降低python版本的操作方法
Sep 11 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 Python
如何让PyQt5中QWebEngineView与JavaScript交互
Oct 21 Python
python pygame 愤怒的小鸟游戏示例代码
Feb 25 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猜单词游戏
2015/09/29 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
php常用的工具开发整理
2019/09/26 PHP
用javascript控制iframe滚动的代码
2007/04/10 Javascript
JavaScript中的事件处理
2008/01/16 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
nodejs微信开发之自动回复的实现
2019/03/17 NodeJs
JS document对象简单用法完整示例
2020/01/14 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
Python创建xml文件示例
2017/03/22 Python
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
一份比较全的PHP面试题
2016/07/29 面试题
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
建筑班组长岗位职责
2014/01/02 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
法学自荐信
2014/06/20 职场文书
培训督导岗位职责
2015/04/10 职场文书
狂人日记读书笔记
2015/06/30 职场文书
宿舍卫生管理制度
2015/08/05 职场文书