0

它已经在这个问题ghost.py 和 proxy中讨论过,但答案对我来说似乎并不明确。

我安装了 ghost 并且还有一个代理(主机是host=http://XXXXXXXXand port=7676)。

from ghost import Ghost

url     = "https://www.google.co.uk"
host    = 'http://XXXXXXXX'
port    = 7676
ghost   = Ghost(wait_timeout=20)
ghost.set_proxy(type_='http', host=host, port=port)
ghost.open(url)
html = ghost.content

但我得到一个空html字符串。我也尝试过,ghost.set_proxy(type_='https', host=host, port=port)但失败了(html字符串仍然为空)。

当家里没有代理(因此没有线路ghost.set_proxy(type_='http', host=host, port=port))时,它可以工作。

我是 udner a Win 64 Bits OS,代理已经入驻Advanced Settings。你知道我错过了什么吗?

4

1 回答 1

0

大多数 HTTP 库都使用您在相应环境变量中指定的代理;如此奔跑

export https_proxy="https://myproxy.com:7676" 

应该有帮助(至少在 unixoid 系统上)。

当您使用诸如通过代理访问 URL 之类的东西时wget,仍然得到一个空回复,请确保您的代理配置正确,您使用的是正确的凭据,并且您的远程服务器在处理后面的东西时没有异常行为代理(我不会用谷歌假设;)。

编辑:刚刚意识到:您只是在设置 HTTPS 代理;您请求的页面上的某些元素可能是通过 HTTP(不是 S)获取的,如果没有代理,这可能会失败。

于 2015-02-06T11:25:57.467 回答