它已经在这个问题ghost.py and proxy中进行了讨论,但答案似乎并不清晰。
我安装了ghost并且还有一个代理(主机是host=http://XXXXXXXX
和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)
)时,它可以工作。
我很Win 64 Bits OS
,代理已在Advanced Settings
中解决。
你知道我错过了什么吗?
答案 0 :(得分:0)
大多数HTTP库使用您在相应环境变量中指定的代理;所以正在运行
export https_proxy="https://myproxy.com:7676"
应该有帮助(至少在unixoid系统上)。
当您使用wget
之类的内容通过代理访问网址时,仍然会收到空的回复,请确保您的代理配置正确,您使用了正确的凭据和远程服务器对代理背后的事情表现得并不奇怪(我不会假设谷歌;)。
编辑:刚刚意识到:您只是设置了一个HTTPS代理;您要求的页面上的某些元素可能是通过HTTP(而不是S)获取的,如果没有代理,这可能会失败。