【发布时间】:2020-05-11 00:51:39
【问题描述】:
我工作的公司的互联网连接有限,我们使用代理(例如:10.10.10.10:8080)访问一些受限连接。
我可以在 Postman 中使用 API(将代理放在 Postman 设置中),但是在放入 C# WebClient 代码时,它给了我一个 403-Forbidden 错误。
我只需要var sensorData 字段,但我分成var data 和var data2 来了解问题出在哪里。它给了我var data = ...的错误
Uri uri = new Uri("https://XXXXXXXX/api/DatasourceData/DatasourceDataHistoryBySerialNumber/");
Token token = new Token();
token = GetToken(tokenAPI);
using (WebClient client = new WebClient())
{
try
{
client.Proxy = new WebProxy("10.10.10.10", 8080);
client.Headers.Add("Authorization", "Bearer " + token.AccessToken);
client.QueryString.Add("serialNumbersDatasource", "I2001258");
client.QueryString.Add("startDate", string.Format("{0:s}", "2019-12-01"));
client.QueryString.Add("endDate", string.Format("{0:s}", DateTime.Now));
client.QueryString.Add("isFilterDatesByDataDate", "false");
var data = client.DownloadData(uri);
var data2 = (Encoding.UTF8.GetString(data));
sensorData = (JsonConvert.DeserializeObject<List<Sensor>>(Encoding.UTF8.GetString(client.DownloadData(uri))))[0];
}
}
【问题讨论】: