python requests模块的Documentation表示for hooks,“如果回调函数返回一个值,则假定它将替换传入的数据。如果函数不返回任何内容,则不会影响其他内容。”

现在我试图从hook函数返回一个值(在我的例子中是int),它抛出一个异常。当返回值是没有为其定义raw()方法的对象时,这在所有情况下都有效。在

这里有一些代码def hook(resp,**kwargs):

print resp.url

return 1

def main()

s = requests.Session()

s.hooks = {"response":hook}

r = s.get("http://localhost/index.html")

以下是例外:

^{pr2}$

代码会话.py@第446行试图从源代码中提取dispatch_hook..之后的cookies# Response manipulation hooks

r = dispatch_hook('response', hooks, r, **kwargs)

# Persist cookies

extract_cookies_to_jar(self.cookies, request, r.raw)

要么文件需要更改,要么需要重新处理。最好的办法是什么?在

[更新]

根据注释,我试图返回基本response对象。结果它也不能以这种方式使用,因为它的一些字段被初始化为None。在

更新代码:def hook(resp, **kwargs):

obj = requests.Response()

return obj

现在引发异常:Traceback (most recent call last):

File "/home/talha/ws/test.py", line 88, in

main()

File "/home/talha/ws/test.py", line 75, in main

r = s.get("http://localhost/index.html")

File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 347, in get

return self.request('GET', url, **kwargs)

File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 335, in request

resp = self.send(prep, **send_kwargs)

File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 446, in send

extract_cookies_to_jar(self.cookies, request, r.raw)

File "/usr/lib/python2.7/site-packages/requests/cookies.py", line 108, in extract_cookies_to_jar

res = MockResponse(response._original_response.msg)

AttributeError: 'NoneType' object has no attribute '_original_response'

看来我必须实现一个完整的伪响应?在

python callback failed_Python请求钩子返回导致异常的值相关推荐

  1. python爬虫网络请求超时是什么意思_python爬虫怎么处理异常和超时?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 写代码总是会出异常的,尤其是爬虫这类程序,无法确保每次请求都能稳定地返回统一的结果,比如反爬虫策略提升.代理IP超时.程序异常等等,处理好这些问题,才能保 ...

  2. python的request请求401_Python模拟HTTPS请求返回HTTP 401 unauthorized错误

    Python模拟HTTPS请求返回HTTP 401 unauthorized错误 开始是使用的 httplib模块,代码如下: header = {"Content-type": ...

  3. 请求表头headers设置Accept-Encoding为gzip,deflate,br时,python ——requets的get/post返回的结果有可能是乱码

    爬取某页面的数据时,在我本机环境进行请求,返回的结果是正常的,即不乱码,但是把代码拷贝到其他电脑运行,返回的结果就是乱码了.如下: 我本机的请求结果: 其他电脑运行返回的数据是乱码的,无论是设置utf ...

  4. python Flask框架如何请求及返回数据——flask详细教程

    python Flask框架如何请求及返回数据--flask详细教程 文章目录: 1 Flask介绍 1.1 Flask简单介绍 1.2 Flask相关资料信息 2 Flask快速入门 2.1 Fla ...

  5. python请求post无返回结果_Python请求POST返回不完整的内容

    我正在尝试使用Python Requests库下载csv文件 . 我正在使用Requests库,因为我首先必须通过免责声明页面,所以我使用Session对象存储所有cookie和所有爵士乐 . 我的P ...

  6. python 大量网络请求失败_网络请求异常拦截优化

    public class ExceptionUtils { /* * 在使用Retrofit+RxJava时,我们访问接口,获取数据的流程一般是这样的:订阅->访问接口->解析数据-> ...

  7. 三、Flask_会话控制与请求钩子

    1. 会话控制 会话控制: cookie 和 session 在flask中会话控制的保存主要通过request和response来完成 session本质上就是保存在服务端中的一个文件,文件中存储了 ...

  8. Flask框架(flask中的请求上下文和应用上下文,以及请求钩子的使用,Flask-Script 扩展命令行)

    1.请求上下文与应用上下文 请求上下文(request context) request和session都属于请求上下文对象. 应用上下文(application context) current_a ...

  9. Flask 中的上下文管理和请求钩子

    Flask 中的上下文管理和请求钩子 在使用 Flask 框架实现功能接口的时候,前端点击按钮发送请求的请求方式和 form 表单提交给后端的数据,后端都是通过 Flask 中的 request 对象 ...

最新文章

  1. linux mysql 开启远程访问
  2. 如何用树莓派和PHP开发一个比特币和以太坊交易机器人
  3. BUUCTF(pwn)jarvisoj_fm --格式化字符串漏洞
  4. 函数公开问题、简短模式、多一个返回值
  5. .NET 云原生架构师训练营(模块二 基础巩固 依赖注入)--学习笔记
  6. 更新fielddata为true_在pytorch中停止梯度流的若干办法,避免不必要模块的参数更新...
  7. 微软OOXML正式成为国际标准 更名为OXML
  8. Golang实践录:工程管理
  9. 重置mysql8.0.16的root密码
  10. 软件测试——白盒测试
  11. 为知笔记导入html,为知笔记导入印象笔记
  12. 制作“玄”字logo
  13. Leetcode1278
  14. JS实现动画特效2(缓动函数封装、导航栏筋斗云效果)
  15. 今日头条App 页面秒开方案详解
  16. 01区块链研究的最新进展理论、建模和工具
  17. 收藏!2020 年最具潜力 44 个顶级开源项目,涵盖 11 类 AI 学习框架、平台
  18. 当黑夜自此笼罩-白夜行之感想一二
  19. java 生成正弦波声音_Java错误生成声音正弦波
  20. AndroidOTA升级流程

热门文章

  1. 从小白到大数据技术专家的学习历程,你准备好了吗
  2. amazeui学习笔记--css(常用组件5)--评论列表Comment
  3. Using Sqoop 1.4.6 With Hadoop 2.7.4
  4. error while loading shared libraries: xxx.so.x错误
  5. Javascript中的几种继承方式比较
  6. JA-SIG(CAS)学习笔记1
  7. sunny底层android,Android网络通信概述
  8. RocketMQ(六)—IndexFile详解
  9. 3-5Tensor的属性
  10. css开头的文本格式,css文件开头怎么写