我正在尝试使用HTTP POST请求将两个参数发布到http://foo.bar.com/submit.jsp。
这很有效。
conn = httplib.HTTPConnection("www.bar.com")
conn.request("POST", "",parameters)
但事实并非如此,有人可以向我解释为什么不这样做以及正确的方法是什么?
conn = httplib.HTTPConnection("www.foo.bar.com")
conn.request("POST", "/submit.jsp", parameters)
我收到此错误
File "example.py", line 68, in <module>
conn.request("POST", "/submit.jsp", parameters)
File "/usr/lib/python2.7/httplib.py", line 958, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 992, in _send_request
self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 776, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 757, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 553, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known
提前致谢
答案 0 :(得分:1)
无论您使用什么主机名代替www.foo.bar.com
,都无法解析为IP地址。请注意,您的第一个示例使用的是www.bar.com
,而不是www.foo.bar.com
。虽然这些只是示例,但您使用的第二个主机名是错误的。
路径/submit.jsp
在这里不是问题,如果这是您实际尝试测试的内容?
答案 1 :(得分:0)
这个错误意味着python无法访问你在函数中定义的HTTP服务器,你可能会有一个不需要的&#34; HTTP://&#34;,一个错字&#39; d url,如果你&#39;重新使用IPV6可能是您的地址或其他网络问题的形式。
这可能会有所帮助;
Error while using conn = httplib.HTTPConnection ("http://ipaddr:port")