HTTP请求无法获得响应

时间:2014-03-18 16:08:04

标签: c# httpwebrequest

我正在尝试向表单发送HTTP请求:

GET /api/content/v1/parser?url=http://blog.readability.com/2011/02/step-up-be-heard-readability-ideas/&token=1b830931777ac7c2ac954e9f0d67df437175e66e

我正在尝试与之沟通的网站是www.readability.com

我一直在尝试使用以下请求:

string readabilityUrl = "http://www.readability.com";
string requestUrl = createRequestUrl(articleUrl);

// Create http request send to readability api
System.Diagnostics.Debug.WriteLine(readabilityUrl + requestUrl);

var request = (HttpWebRequest)WebRequest.Create(readabilityUrl);
var postData = requestUrl;
var postReqData = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";

using (var stream = request.GetRequestStream())
{
    stream.Write(postReqData, 0, postReqData.Length);
}

var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();

System.Diagnostics.Debug.WriteLine(responseString);

但它所做的只是获取www.readaility.com的html内容,而不是返回我实际需要的相关数据。

我想我没有发送正确的参数,如果你能帮助我并指出解决方案,我会感激不尽。

1 个答案:

答案 0 :(得分:0)

  1. 检查您是否因为从目标重定向而获取HTML(HTTP 302)。检查您获得的内容,可能包含有关缺少凭据或资源不存在的错误。

  2. 请注意,您正在创建POST请求,但您在开头放置的示例是GET请求。

  3. 您应该将您正在使用的网址编码为HttpUtility.UrlEncode(url)

  4. 的参数