Используйте прокси с призраком
Это уже обсуждалось в этом вопросе ghost.py и прокси, но ответ не кажется мне ясным.
У меня установлен призрак, а также есть прокси (хост 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
, Не могли бы вы понять, чего мне не хватает?
1 ответ
Большинство HTTP-библиотек используют прокси, который вы указываете в соответствующей переменной окружения; так работает
export https_proxy="https://myproxy.com:7676"
должно помочь (по крайней мере, в Unixoid системах).
Когда вы используете что-то вроде wget
чтобы получить доступ к URL-адресу через прокси-сервер, и при этом получить пустой ответ, убедитесь, что ваш прокси-сервер настроен правильно, вы используете правильные учетные данные и ваш удаленный сервер не ведет себя странно с вещами, которые находятся за прокси-сервером (что я бы не стал не берусь с гуглом;).
РЕДАКТИРОВАТЬ: только что понял: вы только устанавливаете прокси HTTPS; некоторые элементы на странице, которую вы запрашиваете, могут быть получены через HTTP (не S), и без прокси для этого может произойти сбой.