Можно ли использовать запросы 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': '[email protected]' # 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, headers = headers, proxies = proxies) "/usr/lib/python2.7/ site-packages / requests-2.19.1-py2.7.egg / requests / api.py ", строка 72, в запросе получения возврата ('get', url, params = params, ** kwargs) File" / usr / lib / python2.7 / site-packages / requests-2.19.1-py2.7.egg / requests / api.py ", строка 58, в запросе return session.request (method = method, url = url, ** kwargs ) Файл "/usr/lib/python2.7/site-packages/requests-2.19.1-py2.7.egg/requests/sessions.py", строка 512, в запросе resp = self.send (prepare, ** send_kwargs) Файл "/usr/lib/python2.7/site-packages/requests-2.19.1-py2.7.egg/requests/sessions.py", строка 622, в send r = adapter.send (request, * * kwargs) Файл "/usr/lib/python2.7/site-packages/requests-2.19.1-py2.7.egg/requests/adapters.py", строка 507, при отправке поднять ProxyError (e, request = request ) requests.exceptions.ProxyError: HTTPConnectionPool (host = '127.0.0.1', port = 80): Макс. s превышено с URL: http://google.com/ (вызвано ProxyError ('Невозможно подключиться к прокси.' , NewConnectionError (': Не удалось установить новое соединение: [Errno 111] В соединении отказано',)))