gpt4 book ai didi

python - 如何在 selenium Python 中为 Chrome 设置带有 auth 的 SOCKS5 代理?

转载 作者:太空狗 更新时间:2023-10-30 00:18:59 26 4
gpt4 key购买 nike

我正在尝试使用 PIA ( https://www.privateinternetaccess.com ) 提供的 SOCKS5 代理。我在他们的网站上为 SOCKS5 生成了用户/通行证,但我无法使用此信息,因为我不知道将其放在哪里。我尝试使用 ChromeOptions,但它不起作用。

def create_browser(self, proxy):
"""
proxy = "xGeneratedUser:GeneratedPass@proxy-nl.privateinternetaccess.com:1080"
"""
chrome_options = webdriver.ChromeOptions()
if proxy:
chrome_options.add_argument("--proxy-server=socks5://" + proxy)
try:
self.browser = webdriver.Chrome('./chromedriver', chrome_options=chrome_options)
self.browser.set_window_size(800, 600)
except Exception as error:
return False

最佳答案

我也卡在这里。我还想在 selenium 的 chrome webdriver 中使用 auth 代理。我试过使用 httpProxy 或 PAC,其中我们不能使用用户名和密码。

然后我看到了 socksUsernamesocksPassword 但它仍然没有用。因为错误:

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: cannot parse capability: proxy
from invalid argument: Specifying 'socksProxy' requires an integer for 'socksVersion'
(Driver info: chromedriver=73.0.3683.20 (8e2b610813e167eee3619ac4ce6e42e3ec622017),platform=Mac OS X 10.14.3 x86_64)

我找到了 chrome code说需要socksProxy键,但是目前的selenium不支持socksProxy,see selenium code .

所以我不得不选择其他方式:

  • 在 PATH 中设置 http_proxy,使用 export http_proxy=http://username@pass:host:port
  • use extension to hack

更新:最后,我使用pproxy在本地作为代理重定向器。

# pproxy -r ${HTTP_PROXY}\#${PROXY_AUTH} -l http://:8080 -v
# 1.2.3.4:1234 is remote address:port, username and password is used auth for remote proxy.

pproxy -r http://1.2.3.4:1234\#username:password -l http://:8080 -v

所以现在你可以连接到你的 localhost:8080 而无需授权。

关于python - 如何在 selenium Python 中为 Chrome 设置带有 auth 的 SOCKS5 代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43312573/

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