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 从远程服务器下载东西的代码
Feb 10 Python
Python3基础之输入和输出实例分析
Aug 18 Python
python通过定义一个类实例作为ftp回调方法
May 04 Python
分享Python文本生成二维码实例
Jan 06 Python
Django Highcharts制作图表
Aug 27 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
pandas分别写入excel的不同sheet方法
Dec 11 Python
python实现图片插入文字
Nov 26 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
python飞机大战pygame游戏之敌机出场实现方法详解
Dec 17 Python
pymysql的简单封装代码实例
Jan 08 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
Apr 22 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/08/20 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
2013/09/13 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
微信小程序 Tab页切换更新数据
2017/01/05 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
深入分析element ScrollBar滚动组件源码
2019/01/22 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
Python 创建子进程模块subprocess详解
2015/04/08 Python
python处理xml文件的方法小结
2017/05/02 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
解释i节点在文件系统中的作用
2013/11/26 面试题
区域总监的岗位职责
2013/11/21 职场文书
销售顾问岗位职责
2014/02/25 职场文书
商务考察邀请函模板
2015/02/02 职场文书
主持人开场白台词
2015/05/29 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
给校长的建议书范文
2015/09/14 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python