httplib python错误

时间:2011-11-30 20:41:37

标签: python httplib

我试图通过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')

2 个答案:

答案 0 :(得分:1)

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

您只将IP地址传递给期望DNS地址而非IP地址的主机字段。这就是为什么你的第二个错误列表“getaddrinfo”失败了。

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

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

答案 1 :(得分:0)

我更改了DNS地址的IP地址。我还删除了HTTPConnection()参数中的任何路径/ URI。现在它有效。对不起这么明显的问题伙计们。