尝试在python中使用HTTP POST请求进行POST



我正在尝试使用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")

相关内容

  • 没有找到相关文章

最新更新