Можно ли использовать запросы Python с туннелем SSH в качестве прокси?Как я могу этого достичь?Пробовал уже это, но безуспешно:
from sshtunnel import SSHTunnelForwarder
import requests as r
from bs4 import BeautifulSoup as soup
server = SSHTunnelForwarder(
'sship',
ssh_username="XXXX",
ssh_password="XXXX",
remote_bind_address=('127.0.0.1', 8080)
)
server.start()
print(server.local_bind_port)
proxies = {
"http": "http://127.0.0.1:8080",
}
url = 'http://www.google.com'
headers = {
'User-Agent': 'My User Agent 1.0',
'From': 'youremail@domain.com' # This is another valid field
}
data = r.get(url, headers=headers , proxies = proxies)
page_data = soup(data.text , 'html.parser')
print page_data
Это ошибка, которую я получаю:
37657 Traceback (последний вызов был последним): файл "ssh.py", строка27, в файле data = r.get (url, заголовки = заголовки, прокси = прокси) Файл "/usr/lib/python2.7/site-packages/requests-2.19.1-py2.7.egg/requests/api.py ", строка 72, в запросе на получение возврата ('get', url, params = params, ** kwargs) Файл" /usr/lib/python2.7/site-packages/requests-2.19.1-py2.7.egg / reports / api.py ", строка 58, в запросе вернуть session.request (метод = метод, url = url, ** kwargs) Файл" /usr/lib/python2.7/site-packages/requests-2.19.1-py2.7.egg / reports / sessions.py ", строка 512, в запросе resp = self.send (prep, ** send_kwargs) File" /usr/lib/python2.7/site-packages/requests-2.19.1-py2.7.egg / reports / sessions.py ", строка 622, в файле send r = adapter.send (request, ** kwargs)" /usr/lib/python2.7/site-packages/requests-2.19.1-py2.7.egg / запросы / adapters.py ", строка 507, при отправке поднять ProxyError (e, request = request)HTTPConnectionPool (host = '127.0.0.1', port = 80): максимальное количество повторных попыток превышено с помощью url: http://google.com/ (вызвано ProxyError ('Не удается подключиться к прокси-серверу.', NewConnectionError (': не удалось установить новое соединение): [Errno 111] Отказ в соединении ',)))