-2

我正在尝试通过 httplib 发送 http get 请求,但我遇到了问题。

        conn = httplib.HTTPConnection("10.30.111.13/View")
        conn.request("GET", "/Default.aspx")
        res = conn.getresponse()

        if res.status == 200:
            print(res.status)

        else:
            print("Something went terribly wrong")

我收到以下错误:

TypeError (cannot concatenate 'str' and 'int' objects).

如果放下一行代码,它就没有问题:

 conn = httplib.HTTPConnection("www.google.com")
 conn.request("GET", "/")

编辑,这是我设法从第三方软件中提取的更详细的日志(它反过来限制了我的 python 可用性):

  File "<string>", line 3248, in initialization
  File "C:\python22\lib\httplib.py", line 701, in request
    self._send_request(method, url, body, headers)
  File "C:\python22\lib\httplib.py", line 723, in _send_request
    self.endheaders()
  File "C:\python22\lib\httplib.py", line 695, in endheaders
    self._send_output()
  File "C:\python22\lib\httplib.py", line 581, in _send_output
    self.send(msg)
  File "C:\python22\lib\httplib.py", line 548, in send
    self.connect()
  File "C:\python22\lib\httplib.py", line 516, in connect
    socket.SOCK_STREAM):
gaierror: (7, 'getaddrinfo failed')
4

2 回答 2

1

我现在不是可以测试的地方,但这是我的想法:

您只将 IP 地址传递给需要 DNS 地址的主机字段,而不是 IP 地址。这就是您的第二个错误列表显示“getaddrinfo”失败的原因。

也就是说,我不确定如何在 httplib 中使用 IP 地址。也许尝试“http://10.30.111.13”。测试它的一个好方法是将上面的 IP 地址替换为 Google 的,看看是否仍然出现错误。

也许这会有所帮助——对不起,我不能说更多!

于 2011-12-01T20:30:19.800 回答
0

我已更改 DNS 地址的 IP 地址。我还删除了 HTTPConnection() 参数中的所有路径/URI。现在它起作用了。抱歉这么明显的问题伙计们。

于 2011-12-02T15:04:58.527 回答