gpt4 book ai didi

python - 如何修复 httplib.BadStatusLine 异常?

转载 作者:太空狗 更新时间:2023-10-30 01:09:43 33 4
gpt4 key购买 nike

URL = "MY HTTP REQUEST URL"
XML = "<port>0</port>"

parameter = urllib.urlencode({'XML': XML})
response = urllib.urlopen(URL, parameter)
print response.read()


IOError: ('http protocol error', 0, 'got a bad status line', None)

我正在尝试将 XML 发送到服务器并取回 XML。有什么办法可以修复/忽略这个异常吗?

我知道状态行是空的,这引发了这个错误。

最佳答案

试着看看你的服务器实际返回了什么!它可能不是有效的 HTTP 响应。您可以使用类似这样的方式向服务器发送原始 http 请求:

from socket import socket

host = 'localhost'
port = 80
path = "/your/url"
xmlmessage = "<port>0</port>"

s = socket()
s.connect((host, port))
s.send("POST %s HTTP/1.1\r\n" % path)
s.send("Host: %s\r\n" % host)
s.send("Content-Type: text/xml\r\n")
s.send("Content-Length: %d\r\n\r\n" % len(xmlmessage))
s.send(xmlmessage)
for line in s.makefile():
print line,
s.close()

响应应该类似于:

HTTP/1.1 200 OK
<response headers>

<response body>

关于python - 如何修复 httplib.BadStatusLine 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10708828/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com