我正在制作一个简单的Python脚本来与服务器通信,以获得一个包含玩家数据(如金钱、拥有的武器、xp等)的XML文件
一个文件太大,一个包不能发送,所以会被分块。但是,使用此while循环时:
def parseChunk(chunk):
if "\r\n" in chunk:
return chunk.split("\r\n")[1]
else:
return chunk
while True:
data = ssl_sock.recv(4096).decode()
print(data)
if "\r\n\r\n" in data and start_chunking is False:
start_chunking = True
temp = data.split("\r\n\r\n")[1]
login_resp += temp.split("\r\n")[1]
elif start_chunking:
if data.startswith("0\r\n"):
print("reached the end")
break
login_resp += parseChunk(data)
它过早地print
“到达了结尾”,文件的大部分仍然丢失。据我所知,当服务器发送完数据块后,它会发送“final chunk”,即0\r\n
,这表示不会再发送数据了?显然不是这样。服务器也没有发送Content-Length
头,所以我不知道需要多少字节。你知道吗
任何帮助或见解都将不胜感激。谢谢你的时间。如果需要更多的信息,请在投票前告诉我。谢谢。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐