scrapy源代码中查找http11.py文件,相对路径为:
Lib/site-packages/scrapy/core/downloader/handlers/http11.py

找到下面内容,注释掉:
if isinstance(agent, self._TunnelingAgent):
   headers.removeHeader(b'Proxy-Authorization')

否则proxy-authorization会被去除,动态转发失效。

自定义下载中间件:
class ProxyIPMiddleware(object):
    '''
    随机更换代理ip
    '''
    def __init__(self):
        self.orderno = "xxxxxxxxxxxx"  # 订单号
        self.secret = "xxxxxxxxxxx"  # 秘钥

def process_request(self,request,spider):
        print('====ProxyIPMiddleware====')
        protocal = request.url.split(':')[0].strip().lower()
        print(request.url,'protocal:',protocal)
        ip = "forward.xdaili.cn"  # 代理ip
        port = "80"  # 端口号
        ip_port = ip + ":" + port
        proxy = {"http": "http://" + ip_port, "https": "https://" + ip_port}
        timestamp = str(int(time.time()))  # 时间戳
        string = "orderno=" + self.orderno + "," + "secret=" + self.secret + "," + "timestamp=" + timestamp
        md5_string = hashlib.md5(string.encode()).hexdigest()  # md5哈希,得到固定长度的字符串
        sign = md5_string.upper()  # 转换成大写字母
        # 认证信息
        auth = "sign=" + sign + "&" + "orderno=" + self.orderno + "&" + "timestamp=" + timestamp
        print('auth:',auth)
        request.headers['Proxy-Authorization'] = auth
        #HTTP代理,只代理HTTP网站,HTTPS代理,只代理HTTPS网站
        request.meta['proxy'] = proxy[protocal]

scrapy中使用讯代理动态转发相关推荐

  1. python接入讯代理_scrapy中使用讯代理动态转发

    scrapy源代码中查找http11.py文件,相对路径为: Lib/site-packages/scrapy/core/downloader/handlers/http11.py 找到下面内容,注释 ...

  2. scrapy中使用讯代理转发

    scrapy源代码中查找http11.py文件,相对路径为: Lib/site-packages/scrapy/core/downloader/handlers/http11.py 找到下面内容,注释 ...

  3. python接入讯代理_scrapy添加讯代理 动态转发(Python3)

    1. 先行条件 将scrapy源代码,相对路径为:Lib/site-packages/scrapy/core/downloader/handlers/http11.py的文件中, if isinsta ...

  4. http代理动态转发,什么是动态转发代理ip?

    很多用户朋友用过比如飞蚁代理的代理IP就知道,在生成API链接后发现,返回的IP只有一个,端口却有很多个,不知道是什么原因,所以很多人会有疑问 .那么,什么是动态转发代理IP呢? 动态转发的意思是,您 ...

  5. 在Scrapy中使用爬虫动态代理IP

    本文介绍如何在Scrapy中使用无忧代理(www.data5u.com)的爬虫动态代理IP,以及如何设置User-Agent. 动态转发参考https://blog.csdn.net/u0109787 ...

  6. Requests 和 Scrapy 中的代理 IP 设置

    摘要: Requests 和 Scrapy 中的代理 IP 设置方法. 目标测试网页如下,请求该网页可以返回当前 IP 地址: ∞ http://icanhazip.com 先来说说 Requests ...

  7. Spring BPP中优雅的创建动态代理Bean

    Spring BPP中优雅的创建动态代理Bean 一.前言 本文章所讲并没有基于Aspectj,而是直接通过Cglib以及ProxyFactoryBean去创建代理Bean.通过下面的例子,可以看出C ...

  8. 三十五、Scrapy 中的杂知识总结和代理池的编写

    @Author:Runsen 上次 用scrapy爬了腾讯招聘网站,有两个job.json 和detail.json,针对一个item,其实有更简单的处理方法. 今天讲讲scrapy 中的杂知识,做一 ...

  9. Java中三种代理方式—— 静态代理与两种动态代理的实现机制

    个人博客请访问 http://www.x0100.top 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现 ...

最新文章

  1. layui停止更新_layui 关闭当前窗口,刷新父级页面
  2. CentOS 6.3(x86_64)下安装Oracle 10g R2
  3. ScalaPB(4): 通用跨系统protobuf数据,sbt设置
  4. Tomcat——启动错误[A web application must be configured as privileged to be able to load it]解决方案
  5. 计算机软件工作总结,计算机软件培训总结及小结-工作总结
  6. 两个条件一个为false就运行_设置一个自动运行网格条件单
  7. 《.NET框架程序设计》第2章 第3章 读后感
  8. 不良事件总结怎么写_个人年终工作总结怎么写?
  9. 复杂度O(n)倒转链表
  10. 基于SQL Server策略的管理-更改时评估模式
  11. 数据结构(java版)学习笔记(二)——线性表之顺序表
  12. 加密软件不能安装软件
  13. 地图开发中用到的比例尺和分辨率
  14. Win10系统完全卸载52好压的方法
  15. 你们让我推荐的营销管理书籍找到了!
  16. 【prince2考试扫盲】Prince2 跟 pmp 有什么区别?项目经理考哪一个?详细解答来了
  17. 输入法公司Kika完成2.2亿B+轮融资 猎豹移动领投
  18. 程序员公司实行996,加班费却只有10块!网友:我们20块
  19. 2019牛客多校第六场 E Androgynos
  20. 梦幻哪个服务器最多牛人,梦幻西游:盘点经久不衰的十大火区!你所在的服务器是否上榜?...

热门文章

  1. 什么是金融租赁?什么是融资租赁?
  2. NEO4J环境变量设置及其安装使用
  3. Android常用UI
  4. Windows Server Core 2022 (一)安装
  5. 主板2个M. 2接口,哪个m2插槽是与CPU直连?总结不得不说PCIE知识
  6. windows自带应用变成灰色解决方案
  7. 打印计算机准考证显示用户名未设置,职称计算机准考证打印时间须知2019年9月...
  8. Hack The Box——Omni
  9. 《zw版·Halcon-delphi系列原创教程》 只有2行代码的超市收款单ocr脚本
  10. 暴走gif失落的出处_暴走gif表情包 - 暴走gif微信表情包 - 暴走gifQQ表情包 - 发表情 fabiaoqing.com...