【发布时间】: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