gpt4 book ai didi

python - POST 响应长度非零,但读取为空

转载 作者:可可西里 更新时间:2023-11-01 16:34:46 26 4
gpt4 key购买 nike

我正在关注 this Virtuoso Web Service example .我的 POST 响应有一个非零的 .length,但是 .read() 是空的。这仅在 POST 成功时发生。如果我故意犯错,我将得到一个非零的 .read()。

import httplib
url = 'lod.openlinksw.com'

xmlString = '''<?xml version="1.0"?>
<query xmlns="http://openlinksw.com/services/facets/1.0" inference="" same-as="">
<text>Seattle Mariners traveled all the way to Japan to watch</text>
<view type="text" limit="20" offset=""/>
</query>'''

xml = open('a.xml','w')
xml.write(xmlString)
xml.close()
xml = open('a.xml')

headers = {'Content-Type': 'text/xml',}
conn = httplib.HTTPConnection(url)
conn.request("POST", "/fct/service", xml, headers)
re = conn.getresponse()
conn.close()

data = re.read()
print re.reason, re.status, '| len:', re.length, '| read() len:', len(data)

返回...

OK 200 | len: 19902 | read() len: 0

如果您故意使 XML 变形(例如“query”>>“queryzzz”)...

Internal Server Error 500 | len: 0 | read() len: 340

我确定我只是在做一些愚蠢的事情。我的 19902 字节响应在哪里?

最佳答案

改变

conn.close()

data = re.read()

data = re.read()
conn.close()

您需要在关闭连接之前读取数据,否则任何尚未传输的字节都将丢失。

关于python - POST 响应长度非零,但读取为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9251563/

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