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]

原文链接:https://blog.csdn.net/Kwoky/article/details/105417716

python接入讯代理_scrapy中使用讯代理动态转发相关推荐

  1. python设置http代理_python中设置HTTP代理的方法

    什么是HTTP代理 HTTP代理本质上是一个Web应用,它和其他普通Web应用没有根本区别.HTTP代理收到请求后,根据Header中Host字段的主机名和Get/POST请求地址综合判断目标主机,建 ...

  2. 带你了解代理模式中的静态代理和动态代理以及cgilib代理^_^

    代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能. 这种类型的设计模式属于结构型模式. 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口. 这样的意图是: ...

  3. python接入excel_在abaqus中使用python连接excel

    局部坐标系建立及局部坐标系下读取坐标 1.局部坐标系建立: Abaqus中提供了两种方法:1.transform 2.orientation 1. transform REQUIRED PARAMET ...

  4. 代理模式中的静态代理

    举个例子:人到了适婚年龄,父母总是迫不及待希望早点抱孙子.而现在社会的人在各种压力之下,都选择晚婚晚育.于是着急的父母就开始到处为自己的子女相亲,比子女自己还着急.这个相亲的过程,就是一种我们人人都有 ...

  5. 一篇文章让你搞懂Java中的静态代理和动态代理

    文章目录 什么是代理模式 代理的优缺点 静态代理 动态代理 InvocationHandler 接口 和 invoke 方法介绍 静态代理和动态代理的区别 什么是代理模式 代理模式是常用的java设计 ...

  6. java中设置网络代理

    代理服务器概述 许多系统通过代理服务器访问Web,有时还会访问Internet的其它非HTTP部分.代理服务器接收到本地客户端到远程服务器的请求.代理服务器向远程服务器发出请求,再将结果转发回本地客户 ...

  7. Java JDK代理、CGLIB、AspectJ代理分析比较

    前言 什么是代理,在Design patterns In java这个本书中是这样描述的,简单的说就是为某个对象提供一个代理,以控制对这个对象的访问.在不修改源代码的基础上做方法增强,代理是一种设计模 ...

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

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

  9. Python HTTP代理的优缺点?芝麻代理豌豆代理熊猫代理讯代理?

    目前市场厂商提供的HTTP代理产品和服务差不多,使用下来还是有各自的优缺点,品质也是值得讨论的.如果不想和当大冤种,还是要仔细挑选厂商,不要被广告给迷惑了. 那咱们到底该怎么选?商家的可靠程度如何?我 ...

最新文章

  1. 【SQL】数据库的SQL查询,涉及多个数据库
  2. shell 实例收集
  3. sha256---利用java自带的实现加密
  4. 微型计算机中最小的单位,微型计算机中最小的数据单位是
  5. 卷积神经网络_mnist
  6. 连接主机Java网络编程(一)- 一个简单的服务端/客户端应用程序
  7. win7怎么把计算机放到桌面6,手机投屏到电脑win7最简单具体操作步骤
  8. 在.cpp文件中调用.c文件中的函数
  9. 记忆力:魔方基础教程
  10. PPT转换成图片及合成长图
  11. 系统重装之后如何恢复mysql数据
  12. 模态框获取页面请求数据
  13. 使用transition实现图片轮播效果
  14. 雷迪9000使用说明_标准版DM雷迪操作及维护手册 精品
  15. linux使用windows无线网卡,linux下安装windows xp无线网卡驱动
  16. 游戏开发-国外的10 个最佳的独立游戏开发社区网站
  17. 趣谈唯一邀请码生成方法
  18. AI上推荐 之 AFM与DIN模型(当推荐系统遇上了注意力机制)
  19. Windows访问共享文件 smb samba
  20. 最合理化的中小型企业桌面虚拟化解决方案—Infortrend GSe Pro 100

热门文章

  1. 74LS194\74HC194的功能表
  2. MySQL数据库的基本使用:
  3. java获取电脑的物理地址
  4. 每日一句:名言、鸡汤、哲学、思考、坚持、爱、生命、自我
  5. 文档识别,OCR录入
  6. 微信html5页面开发教程,微信网页开发,如何在H5页面中设置分享的标题,内容以及缩略图...
  7. 直流电子负载怎么调试开关电源
  8. 基于optigrating光纤光栅光谱的模拟分析简明教程
  9. 湖南省的计算机专业,湖南省计算机专业试卷
  10. adobe 10.1用不了金山词霸2009翻译解决