首页 > 解决方案 > 无法使用 Python httplib 访问 IP

问题描述

我无法使用主机的 IP 地址连接到网络上的任何内容。我可以打开浏览器并连接,我可以 ping 主机就好了。这是我的代码:

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

如果我将 addr var 更改为google.com200 响应。我究竟做错了什么?

标签: pythonpython-2.7httplib

解决方案


您应该检查地址和代理设置。

对于发出 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})

推荐阅读