我正在尝试使用HTTP POST-request发布两个参数来 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
提前致谢
无论您真正使用什么主机名来代替www.foo.bar.com
都无法解析为 IP 地址。请注意,您的第一个示例使用了 www.bar.com
,而不是 www.foo.bar.com
。虽然这些只是示例,但您使用的第二个主机名是错误的。
路径/submit.jsp
不是这里的问题,如果这是您实际尝试测试的内容?
此错误意味着 python 无法访问您在函数中定义的 HTTP 服务器,您可能有一个不需要的"HTTP://",一个拼写错误的 url,如果您使用的是 IPV6,它可能是您的地址或其他网络问题的形式。
这可能会有所帮助;
使用 conn = httplib 时出错。HTTPConnection ("http://ipaddr:port")