C# 在C中将请求头传递给HttpWebRequest#
我试图发出一个HttpWebRequest并从中获取json数据。使用Postman,当我设置url、参数和标题时,我能够得到json响应(请参阅)。但是,当我尝试使用C#时,我没有得到任何响应 我在Stackoverflow上搜索了几篇文章,并按照步骤进行了操作,但找不到问题所在,也找不到是否需要其他内容C# 在C中将请求头传递给HttpWebRequest#,c#,json,get,http-headers,httprequest,C#,Json,Get,Http Headers,Httprequest,我试图发出一个HttpWebRequest并从中获取json数据。使用Postman,当我设置url、参数和标题时,我能够得到json响应(请参阅)。但是,当我尝试使用C#时,我没有得到任何响应 我在Stackoverflow上搜索了几篇文章,并按照步骤进行了操作,但找不到问题所在,也找不到是否需要其他内容 string requestUrl = Constants.FLIPKART_INSTALLS_URL; requestUrl = requestUrl.Re
string requestUrl = Constants.FLIPKART_INSTALLS_URL;
requestUrl = requestUrl.Replace("##STARTDATE##", DateTime.Now.ToString("yyyy-MM-dd"));
requestUrl = requestUrl.Replace("##ENDDATE##", DateTime.Now.ToString("yyyy-MM-dd"));
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUrl);
//request.Credentials = CredentialCache.DefaultCredentials;
request.Method = "GET";
//request.ContentType = "application/json";
request.Headers["Fk-Affiliate-id"] = Constants.FLIPKART_AFFILIATE_ID;
request.Headers["Fk-Affiliate-token"] = Constants.FLIPKART_AFFILIATE_TOKEN;
WebResponse response = request.GetResponse();
是我得到的回应。我不确定这是否真的是一个愚蠢的问题,但因为我对C#不太了解,所以我把它贴了出来。
提前感谢。通过在响应对象上调用GetResponseStream(),我能够阅读内容,如果需要,请参阅以下代码:
using System;
using System.Net;
using System.Text;
using System.IO;
public class Test
{
// Specify the URL to receive the request.
public static void Main (string[] args)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create (args[0]);
// Set some reasonable limits on resources used by this request
request.MaximumAutomaticRedirections = 4;
request.MaximumResponseHeadersLength = 4;
// Set credentials to use for this request.
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
Console.WriteLine ("Content length is {0}", response.ContentLength);
Console.WriteLine ("Content type is {0}", response.ContentType);
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream ();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);
Console.WriteLine ("Response stream received.");
Console.WriteLine (readStream.ReadToEnd ());
response.Close ();
readStream.Close ();
}
}
GetResponse
不返回字符串,请参阅演示如何使用GetResponseStream
的,并实际将其作为文本阅读。谢谢Alex,我正在阅读!会让你知道这是否解决了我的问题。谢谢@Alex,我在回复中的内容长度为-1,这是否意味着出了问题?