Не удается получить доступ к IP с помощью Python httplib

Я не могу подключиться ни к чему в своей сети, используя IP-адрес хоста. Я могу открыть браузер и подключиться, и я могу нормально пинговать хост. Вот мой код:

from httplib import HTTPConnection

addr = 192.168.14.203
conn = HTTPConnection(addr)
conn.request('HEAD', '/') 

res = conn.getresponse()

if res.status == 200:
    print "ok"
else:
    print "problem : the query returned %s because %s" % (res.status, res.reason)

Возвращается следующая ошибка:

socket.error: [Errno 51] Network is unreachable

Если я изменю переменную адреса на google.com, я получу ответ 200. Что я делаю не так?


person MoreScratch    schedule 11.11.2018    source источник
comment
Вы уверены, что addr не должна быть строкой?   -  person user8408080    schedule 11.11.2018
comment
192.168.14.203 — это частный IP-адрес. Вы уверены, что такой адрес существует в вашей локальной сети?   -  person jwodder    schedule 11.11.2018
comment
Он существует в сети, к которой я подключен через VPN   -  person MoreScratch    schedule 11.11.2018


Ответы (1)


Вам следует проверить адрес и настройки вашего прокси.

Для выполнения HTTP-запросов я рекомендую библиотеку requests. Он намного более высокоуровневый и удобный для пользователя по сравнению с httplib и упрощает установить прокси:

import requests

addr = "http://192.168.14.203"
response = requests.get(addr)

# if you need to set a proxy:
response = requests.get(addr, proxies={"http": "...proxy address..."})

# to avoid using any proxy if your system sets one by default
response = requests.get(addr, proxies={"http": None})
person pawroman    schedule 11.11.2018