我使用以下行发出了HTTP请求。
res = h.getresponse()
我正在收集变量中的响应。
print(res.msg)
print(res.status)
print(res.read())
之后我试图通过
打印回复 text=res.read().decode("utf-8")
在3个打印语句之后,我试图通过将res.read()输出存储在另一个变量中来修改响应,以转换为字符串并进行进一步处理。
print(res.read())
text=res.read().decode("utf-8")
print(text)
但是这样做时,解码后的响应不会存储在变量中。如果我在打印后对文本进行打印(res.read()),它什么都不给我
text=res.read().decode("utf-8")
print(text)
上面的输出只是打印出第一个打印语句。如果我删除第一个语句并执行以下操作。
TextField[][] fields = new TextField[9][9]; {
for (Y=0;Y<9;Y++) {
XPosition=0;
for (X=0;X<9;X++) {
fields[X][Y] = new TextField(1);
fields[X][Y].setColumns(1);
fields[X][Y].setBounds(XPosition, YPosition ,32, 32);
frame.getContentPane().add(fields[X][Y]);
XPosition=XPosition+32;
}
YPosition = YPosition+32;
}
}
它给了我所需的O / P.但我希望他们两个都能工作。那么,有没有办法这样做。
答案 0 :(得分:1)
如果您执行res.read()
,它会在print语句中读取响应的内容。在第二次执行时,除非您回头或重新执行请求,否则无法再次阅读。
将第一个.read()
存储在变量中,然后打印出来。
答案 1 :(得分:0)
或者您可以尝试以下方式。
from requests import request
res = request('POST', uri, data,headers={})
print(res.text)
text = res.text
print(text)