Python Requests: Invalid Header Name 解决方法
这几天在练习python,并且用到了Requests,不得不说真的比urllib 方便了很多啊,简直有点事半功倍的感觉
言归正传,(好像上面的话也没多歪啦~~~~~)
简单叙述下我的script 流程: 从list中读取URL、Header、Data ,然后由Requests发送出去
在此过程中出现了
Traceback (most recent call last): ···························· raise InvalidHeader("Invalid return character or leading space in header: %s" % name)
requests.exceptions.InvalidHeader: Invalid return character or leading space in header: Accept-Encoding
关键在于最后一句,意思我相信大家都是能看懂的,但是肯定有人像我一样,没法一下子反应过来。
就像这个错误所说的,我们定义的这个header的accept-encoding并不是一个有效的HTTP header name ,
那么我是怎么定义的呢?如下:
'Accept-Encoding': ' gzip,deflate',
乍一看好像没有什么问题,实际上,我在gzip之前多敲了一个空格,这个就是问题的所在了。
根据HTTP/2协议RFC 7540:https://tools.ietf.org/html/rfc7540
对于Header部分的叙述,总的来说,在header name部分,有诸如空格、冒号之类的,是不被HTTP protocol 标准认可的。
综上,将代码改为:
'Accept-Encoding': 'gzip,deflate',
可解决问题。
Python Requests: Invalid Header Name 解决方法的更多相关文章
- Python更新pip出现错误解决方法
Python更新pip出现错误解决方法 更新pip python -m pip install --upgrade pip 查看时报错 解决方法 在命令栏(即win+r)输入:easy_install ...
- mycat查表报错Invalid DataSource:0解决方法
报错时机 登录没问题 use库没问题 select任意一张表均报错 报错信息 mysql> select * from mydb.tb_user; ERROR 3009 (HY000): jav ...
- python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)
python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 前言 在 python 开发中,有时候想通过cmd窗口来和用户交互,比如显示信息之类的,会比自己创建 GUI 来的方便,但是随之而 ...
- python __file__ is not defined 解决方法
python __file__ is not defined 解决方法 __file__ 是在python module 被导入的时候生成的一个变量,所以在 __file__ 不能被使用,但是又想获取 ...
- python socket.error: [Errno 10054] 解决方法
我用的是python2.7 我搜网上10054错误解决方法的时候发现,大部分文章都是以python3为基础的,对于python2不适用. python socket.error: [Errno 1 ...
- python 迭代器 一个奇怪的解决方法
一般我们在类里面写迭代器都是如下写法: class IterableSomthing: def __iter__(self): return self def __next__(self): retu ...
- python 进程内存增长问题, 解决方法和工具
转载:http://drmingdrmer.github.io/tech/programming/2017/05/06/python-mem.html#pyrasite-%E8%BF%9E%E6%8E ...
- Eclipse + Pydev开发Python时import报错解决方法
一. 原文链接:http://blog.csdn.net/lhanchao/article/details/51306626 用eclipse +PyDev开发python时, ...
- windows下Python开发错误记录以及解决方法
windows下使用pip提示ImportError: cannot import name 'main' 原因:将pip更新为10.0.0后库里面的函数有所变动造成这个问题 解决方法:先卸载现在的p ...
随机推荐
- web项目-easyui-datagrid使用汇总
一,引言 工作的需要,做了3年的wpf--,又因为项目的需求,回归到web的开发. ■ 3 years ago,vue是我三年前没用过的玩意儿. ■ 3 years ago,bootstrap组件 ...
- MapReduce笔记——技术点汇总
目录 · 概况 · 原理 · MapReduce编程模型 · MapReduce过程 · 容错机制 · API · 概况 · WordCount示例 · Writable接口 · Mapper类 · ...
- C++ STL map详解
一.解释: p { margin-bottom: 0.25cm; direction: ltr; color: #00000a; line-height: 120%; text-align: just ...
- T-SQL笔记总结(1)
--1.创建一个数据库 createdatabase School; --删除数据库 dropdatabase School; --创建一个数据库的时候,指定一些数据库的相关参数,比如大小,增长方式, ...
- Python Socket 简单聊天室2
上篇文章写了一个简单的单线程的一问一答的简单聊天室.这次我们使用SocketServer模块搭建一个多线程异步的聊天室. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- EXT系统中的信息查询
if (Ext.getCmp('rdPlaceLocation').checked) { choseRoad = false; var placeLocationWindow = Ext.getCmp ...
- python--DenyHttp项目(1)--socket编程:客户端与服务器端
查找了许多资料,实现了客户端与服务器端的连接,通过虚拟机进行测试 服务器端IP:192.168.37.129 端口1122 客户端IP: 192.168.37.1 端口1122 Server: #co ...
- DynamicXml
/* var xml = @"<root><books><book is_read=""false""><a ...
- js获取url,截取url参数,截取url后文件名
获取当前: var url = window.location.href; 百度为例: var url=window.location.href; console.info(url); http:// ...
- pentaho之kettle篇---kettle基本操作
今天先来做一个简单的kettle的例子. 打开输入,选择CSV文件输入. 双击CSV文件输入图标,可以看见如下: 步骤名称:就是你这一步的名字,可以任意取,原则就是要明白,清楚这一步是做了什么操作. ...