You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用free-proxy与requests访问HTTPS网站的问题及可行性咨询

关于free-proxy与requests配合使用的问题解答

核心结论

免费代理本身的可用性极低,不是工具过时,而是免费代理池的质量问题导致你遇到各种错误。

问题拆解与解决思路

  1. HTTP代理访问HTTPS网站的逻辑
    你误以为HTTP代理不能用于HTTPS请求,其实HTTP代理是可以转发HTTPS流量的——代理服务器会作为中间节点,帮你完成与目标网站的TLS握手。所以正确的做法是在proxies里同时配置http和https指向同一个HTTP代理,你的第二版代码这部分是对的。

  2. free-proxy版本与参数问题
    1.1.3版本的https=True参数报错是版本bug,回退到1.1.2是合理的,但这个参数并不能保证拿到HTTPS协议的代理——免费代理池里的HTTPS代理数量极少,大部分还是HTTP协议,所以手动指定双协议代理是必要的操作。

  3. 连接/SSL错误的根源

    • 免费代理的存活周期极短,往往你刚拿到代理,它就已经失效了
    • 很多免费代理本身配置不规范,无法正确处理HTTPS的TLS握手流程,直接导致SSL证书错误
    • 主流网站都会对免费代理IP做拦截,直接拒绝连接请求
  4. 能否满足基础需求?
    如果只是偶尔做单次测试,多尝试几次可能能成功;但如果是需要稳定运行的基础需求(比如批量爬取、日常访问),免费代理完全靠不住。可以尝试以下优化:

    • 增加代理预验证:拿到代理后先请求一个简单的测试接口(比如你用的geolocation-db),验证可用后再用于目标网站
    • 不要单依赖free-proxy,多渠道获取免费代理
    • 有预算的话直接用付费代理池,稳定性和可用性会提升几个量级

你提供的代码示例整理

第一版(仅单协议代理,导致HTTPS请求走自身IP):

from fake_useragent import UserAgent
from fp.fp import FreeProxy
import requests


def pack_requests(the_url, timeout=5):
    ua = UserAgent()
    proxy = FreeProxy(rand=True, timeout=timeout).get()
    protocol = "https" if proxy.startswith("https") else "http"
    pack_header = {
        'User-Agent': ua.random
    }
    pack_response = requests.get(the_url, headers=pack_header, proxies={protocol: proxy}, timeout=timeout)
    return pack_response

print(pack_requests('https://geolocation-db.com/json').text)

第二版(双协议代理配置,但受限于免费代理质量):

from fake_useragent import UserAgent
from fp.fp import FreeProxy
import requests


def pack_requests(the_url, timeout=5):
    ua = UserAgent()
    proxy = FreeProxy(rand=True, https=True, timeout=timeout).get()
    pack_header = {
        'User-Agent': ua.random
    }
    pack_response = requests.get(the_url, headers=pack_header, proxies={"http": proxy, "https": proxy}, timeout=timeout)
    return pack_response

print(pack_requests('https://geolocation-db.com/json').text)

内容的提问来源于stack exchange,提问作者Digital Farmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 13:55:16