linux - 如何实用地通过代理路由 watir?

标签 linux ubuntu proxy google-chrome watir

我正在尝试通过代理实际地路由 watir ——这意味着在脚本中我想在启动浏览器之前动态更改我的代理。

这是我到目前为止所尝试过的(到目前为止失败了): 我正在运行 chrome 和 lucid lynx ubuntu。我选择 TREX 是因为我认为 watir 可能会利用 PROXY 之类的东西。

我将/usr/bin/google-chrome 重写为:

#!/bin/bash
/opt/google/chrome/chrome --proxy-server="$TREX" $@

我将环境变量传递给代理服务器而不是 http_proxy 的原因是因为我永远无法让 http_proxy 按原样工作

然后我做了一个简单的:

require 'rubygems'
require 'watir-webdriver'

ENV['TREX'] = "XX.XX.XX.XX:YY"
browser = Watir::Browser.new(:chrome)
browser.goto("http://mysite.com")

无论如何,这里发生的事情是将我转发到代理的登录页面,而不仅仅是转发请求。

我在这里缺少什么?我觉得我已经很接近了。

最佳答案

这里的问题是您无法使用 chrome --proxy-server=blah:3128 自动向代理服务器进行身份验证

Chrome 启动时始终会提示您在身份验证代理上输入用户名和密码(通过网络驱动程序或手动)

解决此问题的一种复杂方法是​​安装 apache 的本地实例,并使用鱿鱼作为透明代理来对远程代理服务器进行身份验证。然后你只需启动 chrome,并将代理标志指向本地鱿鱼代理。换句话说,将未经身份验证的代理链接在经过身份验证的代理前面......

我也一直在寻找这个问题的解决方案。我想也许像 webrick 作为代理,或者 corksrew...但还不能得到答案...

关于linux - 如何实用地通过代理路由 watir?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970777/

相关文章:

c - 如何检测我的应用程序在 Linux 中崩溃的位置

linux - 如何避免在 perl 脚本中硬编码用户名/密码

Ubuntu 18.04 登录后卡住

python - 配置 Vim 工作区以使用多种语言进行编程?

proxy - 不支持代理方案 无

c - 使用recv从套接字接收数据不起作用

java - 记录 Zulu 代理请求的响应时间

Linux:当硬盘空间不足时如何接收来自服务器的警告电子邮件?

c# - 单窗口窗体中的从右到左文本

linux - 如何使用 expect 脚本测试 SSH 连接