c# - 来自 .net C# 的 WebService 调用出现错误:(502) 网关错误
问题描述
尝试从 C# 调用 WebServices 并得到以下错误:
System.Net.WebException: 'The remote server returned an error: (502) Bad Gateway
代码:
WebRequest request = WebRequest.Create("https://xxxxx/cgi/webservice.pl?function=get_latest_ts_values&site_list=130105B&datasource=AT&varfrom=10.00&varto=10.00&lookback=60&format=csv");
request.Method = "GET";
WebResponse response = request.GetResponse();
using (Stream dataStream = response.GetResponseStream() )
{
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
Console.ReadLine();
}
但是当我使用 Postman 或者只是在浏览器中复制 url 并且在下面的 python 代码中也可以正常工作:
import requests
dataload = {}
dataurl = "https://xxxxx/cgi/webservice.pl?function=get_latest_ts_values&site_list=130105B&datasource=AT&varfrom=10.00&varto=10.00&lookback=60"
headers = {}
response = requests.request("GET", dataurl, headers=headers, data=dataload)
for dataresp in response:
print(dataresp)
我在 C# 代码中做错了什么?
解决方案
WebRequest 的 uri 具有查询参数&format=csv
。也许这就是您收到 502 的原因。Python 请求缺少该查询参数。您是否通过删除该部分来尝试 WebRequest?
推荐阅读
- visual-studio-code - 使用外部 http 服务器在 vscode 中构建代码
- delphi - 从 BDE 迁移到 ADO - 数据库
- jenkins-pipeline - Jenkins 脚本化管道 - 顺序步骤
- asp.net - 如何使 Web 浏览器的 url 保持在 MVC 错误 404 中
- vba - 使用添加的变量值重命名文件夹中的所有文件而不打开
- spring - 来自 yaml 的 Spring 配置 - 结合 @ConfigurationEnabled 加载参数化文件名
- android - 虚幻引擎如何处理手机不同的屏幕分辨率?特别是用户界面
- javascript - 向有页脚的表格添加滚动条
- php - Typo3 8.7.x / Typoscript:无法在表格页面中添加字段
- go - 以正确的方式选择协会