Scrapy添加代理验证

简介: Scrapy添加代理验证

middlewares.py

from w3lib.http import basic_auth_header

class CustomProxyMiddleware(object):
    def process_request(self, request, spider):
        request.meta['proxy'] = "https://<PROXY_IP_OR_URL>:<PROXY_PORT>"
        request.headers['Proxy-Authorization'] = basic_auth_header(
            '<PROXY_USERNAME>', '<PROXY_PASSWORD>')

settings.py

DOWNLOADER_MIDDLEWARES = {

'<PROJECT_NAME>.middlewares.CustomProxyMiddleware': 350,
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 400,
}

问题

1、如果代理验证设置不对,状态码会返回407

407 Proxy Authentication Required

刚开始采用以下格式配置,发现部分请求可以发送,不过会有一个重试,部分请求直接报错

request.meta['proxy'] = "https://&lt;PROXY_USERNAME>:<PROXY_PASSWORD>@<PROXY_IP_OR_URL>:<PROXY_PORT>"

正确的设置是在请求头中设置 Proxy-Authorization


参考

  1. Using a custom proxy in a Scrapy spider
  2. Proxy-Authorization
            </div>
目录
相关文章
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
850 1
微信接口报错 "errcode":40163,"errmsg":"code been used, 如何处理?
【10月更文挑战第11天】微信接口报错 "errcode":40163,"errmsg":"code been used, 如何处理?
6539 1
数据结构中的 线性结构和非线性结构
这篇文章介绍了数据结构中的线性结构和非线性结构,其中线性结构包括顺序存储结构和链式存储结构,如数组、队列、链表和栈;非线性结构包括图结构、树结构、二维数组、广义表和多维数组。
|
SQL 安全 网络安全
Victor CMS v1.0 SQL 注入(CVE-2022-26201)
Victor CMS v1.0 SQL 注入(CVE-2022-26201)
|
缓存 安全 前端开发
Cloudflare
【7月更文挑战第13天】Cloudflare
766 5
|
JavaScript Java 测试技术
基于SpringBoot+Vue的大学校园旧物捐赠网站的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的大学校园旧物捐赠网站的详细设计和实现(源码+lw+部署文档+讲解等)
224 1
|
关系型数据库 MySQL Linux
在Linux中,如何配置邮件服务器?
在Linux中,如何配置邮件服务器?
|
开发框架 JSON 前端开发
基于ABP框架的SignalR,使用Winform程序进行功能测试
基于ABP框架的SignalR,使用Winform程序进行功能测试
|
Ubuntu 前端开发 Linux
django(六)使用wkhtmltopdf将网页导出PDF
如题,我需要使用python 将 网页 转成PDF文件,这里会用到wkhtmltopdf 我这里使用的是centos服务器。(使用ubuntu事会少很多,别问我为什么不用,我的web项目使用的是PHP,相对来说,centos部署web项目要比ubuntu要好) Python需要用到扩展 pdfkit
489 0
|
Prometheus 监控 数据可视化
性能测试:主流性能监控工具介绍
Linux系统中,`vmstat`和`top`提供基本监控;Nmon是实时性能分析工具,轻量且功能丰富;Collectd+InfluxDB+Grafana组合用于系统数据收集、存储和可视化;Prometheus+Grafana则提供灵活的监控和定制化仪表板。这些工具帮助企业监控系统性能,及时发现和解决问题。