位置: 编程技术 - 正文

Python HTTP客户端自定义Cookie实现实例

编辑:rootadmin

推荐整理分享Python HTTP客户端自定义Cookie实现实例,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Python HTTP客户端自定义Cookie实现实例

几乎所有脚本语言都提供了方便的 HTTP 客户端处理的功能,Python 也不例外,使用 urllib 和 urllib2 可以很方便地进行 HTTP GET 和 POST 等各种操作。并且还允许以类似于插件的形式加入一些 handler ,来定制 request 和 response ,比如代理的支持和 cookie 的支持都是这样添加进来的。具体来说,通过如下方式构造一个 opener :

然后这个 opener 就可以处理 cookie 了,相当方便,并且可定制性也……好吧,总之,现在我希望能在客户端手动插入一些 cookie 值,但是不管是 HTTPCookieProcessor 还是 cookielib 里的 CookieJar 都没有提供类似的方法可以来实现。

Python HTTP客户端自定义Cookie实现实例

看起来,也并不是我一个人有这样的需求,因为我在查找解决方案的时候,还找到了有人给 Python 提交的这个 Patch,就是添加这个功能。不过看起来好像还没有被 accept 的样子,这样对标准库做暴力 patch 的方式可移植性似乎也不好。所以我还是另外找了解决方案,其实也很简单:看了 HTTPCookieProcessor 的实现代码之后,发现我可以做类似的事情,也就是在写一个 handler ,把我想要的 cookie 值强制放到 request 对象的 header 中去。

于是我查了 Python 的文档,对于 handler 的接口好像几乎没有描述,于是我就照着 HTTPCookieProcessor 来写了。这个 handler 应该放在正常的 cookie 处理 handler 的后面,然后检查已经存在的 cookie header ,再进行合并一下。不过比较诡异的是在 Python 的文档里并没有找到 Request 对象有 get_header 之类的方法可以得到已经存在的 header 项的值,觉得很诡异,于是直接查了源代码,才找到了,确实有这个方法。之前有听人说过 Ruby 的文档做得如何如何的烂,Python 的文档做得如何如何的好,我虽然没觉得 Ruby 的文档很烂,但是也觉得 Python 的文档确实不错,我最喜欢它末尾的 Examples 。两个文档系统倒是走的不同的路,Ruby 的文档是从代码中抽取(特定格式的)注释来自动生成的,类似于 javadoc ;而 Python 现在用的是独立于源代码的文档系统,人工写的,不过到头来居然连函数都漏掉了,可见人工维护文档的弊端还是很明显的。其实我见过的文档系统,最好用的应该还是属于 Emacs/Elisp 了吧。 不过,废话少讲,handler 如下:

然后,构造 opener 的时候加上这个 handler 就可以了:

但总归是一个 workaround ,期待那个 patch 被加入到标准库中吧。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python urls.py的三种配置写法实例详解 urls.py的配置写法一般有三种方式。1.第一种是导入视图的方式,就是TheDjangoBook里面样例的写法:fromblog.viewsimportindexurl(r'^nowamagic/',index)2.第二种方法是视

python中类变量与成员变量的使用注意点总结 前言最近在用python写一个项目,发现一个很恶心的bug,就是同由一个类生成的两个实例之间的数据竟然会相互影响,这让我非常不解。后来联想到java的

Python 正则表达式实现计算器功能 需求:用户输入运算表达式,终端显示计算结果代码:#!/usr/bin/env/python3#-*-coding:utf-8-*-"""用户输入计算表达式,显示计算结果"""__author__='Jack'importrebracke

标签: Python HTTP客户端自定义Cookie实现实例

本文链接地址:https://www.jiuchutong.com/biancheng/375577.html 转载请保留说明!

上一篇:Python 通过pip安装Django详细介绍(python的pip安装命令)

下一篇:Python urls.py的三种配置写法实例详解(python urljoin)

  • 货物运输印花税减免
  • 企业法人如何网上实名认证
  • 发票上有字迹可以拿去作废吗
  • 怎么在网上申请电话卡
  • 未担保余值列报
  • 收回已转销的坏账在借方还是贷方
  • 企业将重组债务转为权益工具
  • 计提贷款损失准备金遵循以下原则
  • 销售废旧物品的账务处理
  • 材料验收入库并结转差异记账凭证
  • 股东借款转实收资本需要什么附件
  • 已认证的发票作废进项税转出账务处理
  • 企业所得税为什么那么高
  • 一般纳税人怎么交税
  • 增值税计税依据包含消费税吗
  • 易票365怎么认证发票
  • 房地产的出租行为属于土地增值税征收范围吗
  • 开票系统维护费可以全额抵扣吗
  • 公司向个人租车协议范本
  • 公司经营情况说明怎么写模板
  • 企业捐赠现金支出应在哪个项目反应
  • 对方给我们开发票
  • 企业装修期间开工怎么办
  • 房产的评估增值属于土地增值税征税范围对吗
  • 佣金代扣代缴增值税还有附加税吗
  • vue使用render
  • 理财产品利息税
  • 应税销售额含增值税吗
  • 税收风险应对措施包括
  • 超市进货产品
  • 车辆赔偿款收条怎么写
  • vue app打包
  • Vue vue.config.js 的详解与配置
  • 盘亏结转
  • python单子
  • 递延所得税的会计应用
  • 公司股东利润分配方案范本
  • 小型微利企业增值税优惠政策2023最新
  • 购置固定资产支付的现金属于投资活动产生的现金流量吗
  • syslog ng
  • 法人给对公账户转账
  • 电子税务局发票作废流程
  • 会影响当期损益的科目有
  • 结转成本类账户及税金及附加到本年利润
  • 个人所得税的征收模式为()A分类征收B
  • 债券到期的账面价值计算
  • 收到去年的普通发票
  • 会计凭证中的数字怎么填
  • 出口报关金额怎么算
  • 年底没有取得发票企业所得税
  • 递延收益什么科目
  • 贴现利息的计算公式为
  • 试算不平衡的原因是什么
  • 工会经费的减除项是什么
  • 进项票取得晚了怎么抵扣
  • 什么是权责发生会计处理基础
  • mysql联合索引生效原则
  • 安装win8一直卡在转圈圈
  • Ubuntu Kylin 14.10默认的屏幕分辨率怎么更改?
  • 电脑出现蓝屏后黑屏怎么办
  • 开机f8显示英文字母
  • windows10点击任务栏没有反应
  • win10耳机和扬声器有什么区别
  • xp系统快捷启动按哪个
  • linux error 27:unrecognized command
  • win8功能大全介绍
  • Win10无法获取ipv4
  • jquery showdialog
  • ntp配置详解
  • Python常用时间操作总结【取得当前时间、时间函数、应用等】
  • shell自定义函数以及使用
  • linux基本代码
  • Unity3D游戏开发(第2版)pdf
  • javascript数据类型有哪些
  • 比较常见的电子商务模式
  • 细说javascript
  • 原生js实现移动站点头部搜索栏背景色透明度变化
  • 法律服务所与律师事务所区别
  • 为什么医保卡显示无效
  • 2021年福建医保什么时候交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设