WebRequest不会回复REST网址,但可以在其他网站上正常工作

时间:2013-01-21 09:16:09

标签: c# web-services rest httpwebrequest

我有以下代码。 当我的网址是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);

1 个答案:

答案 0 :(得分:0)

我明白了。我不应该在URL中放置像(###)那样的身份验证密钥。我应该使用密钥作为用户名和空密码来使用这样的凭证。

req.Credentials = new NetworkCredential("#####################","");