C# HttpWebRequest和WebResponse.GetResponse给出的响应不完整
我现在很不安,因为我一直收到亚马逊不完整的回复。我正在使用产品广告API,向服务器发出一个ItemLookup请求 C代码非常基本:C# HttpWebRequest和WebResponse.GetResponse给出的响应不完整,c#,httpwebrequest,amazon,response,httpwebresponse,C#,Httpwebrequest,Amazon,Response,Httpwebresponse,我现在很不安,因为我一直收到亚马逊不完整的回复。我正在使用产品广告API,向服务器发出一个ItemLookup请求 C代码非常基本: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse) request.GetResponse(); string resultString; using (StreamReader sr = new
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
string resultString;
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
resultString = sr.ReadToEnd();
}
我收到的字符数是17408-相当稳定,但我也看到了16k左右的东西
它总是这样结束的:
...ount><CurrencyCode>EUR</CurrencyCode><FormattedPrice>EUR 11,33</FormattedPri
…ount>欧元11,33这对我很有效:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Stream s = response.GetResponseStream();
using (StreamReader sr = new StreamReader(s))
{
s.Flush();
resultString = sr.ReadToEnd();
...
}
您是否能够通过在web浏览器中查看URL来复制信息的截断?否。在所有浏览器中都可以正常工作。可能与stream/streamreader中的缓冲有关?试试冲水?现在我有了。这个问题通过刷新解决了,但在我的代码中有几个地方是这样的谢谢大家。我也有类似的问题。我试图冲水,但这样做给了我一个不受支持的例外。你知道怎么解决吗?你可以跳过castWebResponse
到HttpWebResponse
,因为GetResponseStream
是WebResponse
类的方法。