HttpWebRequest GetResponse() ничего не возвращает
Я написал код для вызова веб-сайта, который возвращает некоторые данные. я использовал 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;
}
}
}
Пожалуйста, помогите мне, если я что-то упустил.
1 ответ
Решение
Вы пытались дать метод и тип контента?
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;
Надеюсь, это поможет вам!