我有以下代码。 当我的网址是google.com时,我会收到来自我的WebRequest的正确回复,但是当我提供我的REST API请求的网址时,我的回复会返回null。
我在浏览器上使用相同的URL,它会返回正确的响应。 p.s.我用#########隐藏的代码实际上是我的API的关键,我不想透露。
//HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://www.google.com");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://#########:@se.api.anpdm.com/v1/mailinglists/1/10");
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Stream S_DataStream;
StreamReader SR_DataStream;
string s_ResponseString = "nothing";
if (res != null)
{
//Translate data from the Web-Response to a string
S_DataStream = res.GetResponseStream();
SR_DataStream = new StreamReader(S_DataStream, Encoding.UTF8);
s_ResponseString = SR_DataStream.ReadToEnd();
S_DataStream.Close();
}
Console.WriteLine(s_ResponseString);
答案 0 :(得分:0)
我明白了。我不应该在URL中放置像(###)那样的身份验证密钥。我应该使用密钥作为用户名和空密码来使用这样的凭证。
req.Credentials = new NetworkCredential("#####################","");