我试图通过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')
答案 0 :(得分:1)
我不是现在可以测试的地方,但这就是我的想法:
您只将IP地址传递给期望DNS地址而非IP地址的主机字段。这就是为什么你的第二个错误列表“getaddrinfo”失败了。
那就是说,我不确定如何使用httplib的IP地址。也许试试“http://10.30.111.13”。测试它的一个好方法是用Google替换上面的IP地址,看看你是否仍然收到错误。
也许这会有所帮助 - 对不起,我不能多说!
答案 1 :(得分:0)
我更改了DNS地址的IP地址。我还删除了HTTPConnection()参数中的任何路径/ URI。现在它有效。对不起这么明显的问题伙计们。