【问题标题】:WebRequest receive The remote server returned an error: (403) ForbiddenWebRequest receive 远程服务器返回错误:(403) Forbidden
【发布时间】:2019-08-08 21:29:12
【问题描述】:

当我在 Chrome 浏览器中访问此 URL 时,它可以正常工作,并且我可以在那里看到一个字符串: https://cex.io/api/ticker/BTC/USD

但是,当我尝试使用以下代码请求上述 URL 时。我确实收到此错误消息: 远程服务器返回错误:(403) Forbidden

我想知道代码可能有什么问题,或者我是否需要添加或更改某些内容以返回字符串,就像我们在 chrome 浏览器中所做的那样?

public void request()
{
    String responseBody = "";
    String requestString = "https://cex.io/api/ticker/BTC/USD";

    try
    {
        //Make the request
        var request = (HttpWebRequest)WebRequest.Create(requestString);

        request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";
        request.Timeout = 15000;
        request.Method = "GET"; //GET, POST
        request.Accept = "application/json";
        request.ContentType = "application/json; charset=utf-8";

        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            var stream = response.GetResponseStream();
            using (var reader = new StreamReader(stream))
            {
                try
                {
                    responseBody = reader.ReadToEnd();
                    reader.Close();
                }
                catch { }
            }
            response.Close();
            response.Dispose();
            responseBody = responseBody.ToLower();
        }
    }
    catch (WebException ex)
    {
        //Show Error
        MessageBox.Show(ex.ToString());
    }
    MessageBox.Show(responseBody);
}

【问题讨论】:

    标签: c# httpwebrequest


    【解决方案1】:

    我的猜测是该网站不支持 IE6 浏览器系列,但您将其指定为您的用户代理。您可以删除它或将其更改为其他浏览器,代码将起作用。我的建议是完全放弃它,因为您只是发出数据请求以获取 JSON,因此您是什么“浏览器”并不重要。您可以在此 SO 帖子 HttpWebRequest.UserAgent : What does it do 上阅读更多关于 UserAgent 及其用途的信息

    本网站有一个标准用户代理列表:http://www.useragentstring.com/pages/useragentstring.php

    这会将您的 UserAgent 设置为 Mozilla 2.2。

    request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      相关资源
      最近更新 更多