• Python | Firefox IP代理


    Firefox IP代理

    以下代码仅针对 Firefox

    from selenium import webdriver
    from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
    
    profile = FirefoxProfile()
    # 激活手动代理配置(对应着在 profile(配置文件)中设置首选项)
    profile.set_preference("network.proxy.type", 1)
    # ip及其端口号配置为 http 协议代理
    profile.set_preference("network.proxy.http", "117.36.103.170")
    profile.set_preference("network.proxy.http_port", 8118)
    
    # 所有协议共用一种 ip 及端口,如果单独配置,不必设置该项,因为其默认为 False
    profile.set_preference("network.proxy.share_proxy_settings", True)
    
    # 默认本地地址(localhost)不使用代理,如果有些域名在访问时不想使用代理可以使用类似下面的参数设置
    # profile.set_preference("network.proxy.no_proxies_on", "localhost")
    
    # 以代理方式启动 firefox
    firefox  = webdriver.Firefox(profile)
    firefox.get('http://httpbin.org/get')

    渲染出来的页面如下(Firefox 自动格式化了 JSON 数据),可以看到 `origin` 字段的 IP 值正是配置的代理 IP

     http://httpbin.org/get

    说明

      • `profile.set_preference("network.proxy.type", 1)` 相当于激活手动代理配置,如下图的所示
     
    • 端口号必须是 int 类型,否则端口号无法配置
    • 上面的配置的 IP 及端口号仅适用于 HTTPS,使用 HTTP 是不合适的。为了防止有时协议配置错误的问题,建议使用 `profile.set_preference("network.proxy.share_proxy_settings", True)` 为所有协议(包括 HTTPS(SSL)、FTP、SOCKS 等)使用相同 IP 及端口号,相当于激活了“为所有协议使用相同代理服务器”

    如果只配置一个协议,比如这里的 HTTPS,可以利用 `set_preference()` 方法设置 HTTPS IP 代理可以使用 `network.proxy.ssl` 作为 key,`network.proxy.ssl_port` 是 ssl 的端口号(尝试使用官方文档中的 `network.proxy.sslProxy`、`network.proxy.ssl_proxy` 发现无法正常配置 ssl 的 IP,我的 Firefox 版本是 60.0 (64 位))

      • `profile.set_preference("network.proxy.no_proxies_on", "localhost")` 是用来设置访问某些域名时不使用代理的,默认本地地址(localhost, 127.0.0.1)不使用代理
  • 相关阅读:
    奶牛碑文
    快速幂算法——人见人爱A^B
    杨辉三角
    iis404 没有设置mime的后缀
    jquery的click和js的funcition中的参数不一样
    asp:timer的权限与操作注意
    .net 文件上传,只上传修改的东西
    vscode的配置 和xdebug配制
    emoji编码后存储
    php 服务器请求其它网页的方法
  • 原文地址:https://www.cnblogs.com/yikemogutou/p/12902056.html
Copyright © 2020-2023  润新知