我编写了一个代码来调用返回一些数据的网站。我使用了HttpWebRequest.GetResponse()
方法。当我在浏览器中点击url时,它会返回数据。但是在我的C#代码中,有时会返回数据,有时它不会返回任何内容。
请求不会丢失任何错误,例如超时或访问被拒绝。它什么都不返回。 如果我在代码中使用调试器,它将返回数据。
代码如下;
HttpWebRequest clnt = (HttpWebRequest)HttpWebRequest.Create(restURL);
var resp = clnt.GetResponse();
if ((resp.ContentLength > 0))
{
using (System.IO.StreamReader str = new System.IO.StreamReader(resp.GetResponseStream()))
{
if (str != null)
{
string response = str.ReadToEnd();
str.Close();
return response;
}
}
}
如果我遗失任何东西,请帮助我。
答案 0 :(得分:0)
您是否尝试过提供方法和内容类型?
clnt.Method = "POST";
clnt.ContentType = "application/x-www-form-urlencoded";
会是这样的:
HttpWebRequest httpWReq = (HttpWebRequest)WebRequest.Create(url);
httpWReq.Method = "POST";
httpWReq.ContentType = "application/x-www-form-urlencoded";
HttpWebResponse response = (HttpWebResponse)httpWReq.GetResponse();
string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
return responseString;
希望这能帮到你!