首页 > 解决方案 > 在 .exe [Python] 内部使用时 SSL 代理不起作用

问题描述

我在 pyinstaller 模块的帮助下创建了一个 .exe 文件,当我使用 https 代理通过 .exe 向端点执行请求时,问题仍然存在,这会引发错误:

requests.exceptions.ProxyError: HTTPSConnectionPool(host='www.lustmexico.com', port=443): Max retries exceeded with url: /products.json (Caused by ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1059: The handshake operation timed out')))

但是相反,当我通过我的 main.py 文件(例如程序的主入口点,使用 python 文件,尚未转换的 .exe)执行请求时,不会发生错误

这是我的代理的配置方式:

ip = "IP OF MY PROXY"

proxies = {
        "https": 'https://' + ip,
        "http": 'http://' + ip
    }
    return proxy

我执行请求的方式是:

r = requests.get(self.link + "/products.json", proxies=proxies, headers=headers, timeout=timeout)

起初我猜是超时,但现在它太高了,我已经测试过了,肯定不是主要的错误原因

经过长时间的研究,我发现我的机器上安装的 https 代理或 SSL 有错误,但不太确定,但我不明白这个问题,请帮忙

标签: pythonsslweb-scrapingrequestproxies

解决方案


推荐阅读