gpt4 book ai didi

Python selenium - 与主机、端口、用户名、密码的代理连接

转载 作者:行者123 更新时间:2023-12-05 03:56:32 24 4
gpt4 key购买 nike

我想要的:具有隐私导航和自动登录 HTTPS 代理的 headless 浏览器

我尝试过的:
- PhantomJS -> 弃用
- Google Chrome -> 代理工作,但不支持 Headless
- Firefox -> Headless OK Private nav OK 但不能在代理连接中使用用户名和密码

我有 4 个变量,pxy["host"] ("xx.xx.xx.xx:xx"), pxy["username"], pxy["password"]
我用 Firefox 做了一些测试
测试 1 - 提示功能

capabilities['proxy'] = {'proxyType': 'MANUAL',
'httpProxy': pxy["host"],
'ftpProxy': pxy["host"],
'sslProxy': pxy["host"],
'noProxy': ''
}

这会在 firefox 中打开提示以输入登录名和密码。我尝试使用警报功能以警报形式发送 key ,但它不适用于 firefox。

测试 2 - 具有凭据的能力

capabilities['proxy'] = {'proxyType': 'MANUAL',
'httpProxy': pxy["host"],
'ftpProxy': pxy["host"],
'sslProxy': pxy["host"],
'socksUsername': pxy['login'],
'socksPassword': pxy['password']
}

这是一个错误:

selenium.common.exceptions.InvalidArgumentException: Message: Invalid proxy configuration entry: socksPassword

测试 3 - firefox 首选项

ip = pxy["host"].split(":")[0]
port = pxy["host"].split(":")[1]
firefox_profile.set_preference("network.proxy.type", 1)
firefox_profile.set_preference("network.proxy.http", ip)
firefox_profile.set_preference("network.proxy.http_port", port)
firefox_profile.set_preference("network.proxy.socks_username", pxy["login"])
firefox_profile.set_preference("network.proxy.socks_password", pxy["password"])

这没什么用,只是保留我的 ip...

测试 4 - 扩展 ?
我想我可以使用像 closeproxyauth.xpi(太旧)这样的扩展来设置我的代理,但我不确定我做了什么。当我使用 firefox_profile.add_extension(extension=extension_path) 时,浏览器中没有显示扩展名,但路径是正确的。
我尝试使用 driver.install_addon(extension=extension_path, temporary=True) 但他从未找到我的路径

最佳答案

副本:How to set proxy AUTHENTICATION username:password using Python/Selenium

Selenium 线:https://github.com/wkeeling/selenium-wire

安装 Selenium 线

pip install selenium-wire

导入

from seleniumwire import webdriver

授权给代理

options = {
'proxy': {
'http': 'http://username:password@host:port',
'https': 'https://username:password@host:port',
'no_proxy': 'localhost,127.0.0.1,dev_server:8080'
}
}
driver = webdriver.Firefox(seleniumwire_options=options)

警告
查看 selenium-wire 缓存文件夹。我有一个问题,因为它占用了我所有的磁盘空间。您有时需要在脚本中删除它。

关于Python selenium - 与主机、端口、用户名、密码的代理连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59287877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com