c# - 如何使用 WebRequest 获取 SSRS 报告?
问题描述
从网络浏览器(Chrome)运行 url 时,我总是使用我的代码获取空的 XML 文件并获取填充的 XML 文件。两种情况下的 url 都是相同的(具有相同的参数)...字符串 day&month are = "05"&"09"
string period = "From="+day+"/"+month+"/2018%2007:00:00&To="+day+"/"+month+"/2018%2009:00:00";
string response = doRequest(@"http://localserver/ReportServer?%2FSpecial%2FReport&"+period+"&rs:Format=XML");
private string doRequest(string url_with_params){
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url_with_params);
request.UseDefaultCredentials = true;
request.PreAuthenticate = true;
request.Credentials = new NetworkCredential("login", "password");
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.OK)
{
string responseText ="";
using(var reader = new System.IO.StreamReader(response.GetResponseStream())){
responseText = reader.ReadToEnd();
};
return responseText;
}
response.Close();
return null;
}
}
我运行代码的 XML 文件如下所示:
<?xml version="1.0" encoding="utf-8"?><Report xsi:schemaLocation="Special_x0020_Report http://localserver/ReportServer?%2FSpecial%2FReport&rs%3AFormat=XML&rc%3ASchema=True" Name="Special Report" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Special_x0020_Report"><Tablix1 /></Report>
从浏览器运行:
<?xml version="1.0" encoding="utf-8"?><Report xsi:schemaLocation="Special_x0020_Report http://localserver/ReportServer?%2FSpecial%2FReport&rs%3AFormat=XML&rc%3ASchema=True" Name="Special Report" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Special_x0020_Report"><Tablix1 /><Details_Collection>
<Details Name="Single" Qty="1" FailureCode="@BLOCK"/></Details_Collection></Report>
解决方案
推荐阅读
- python - 如何从 def 永久更改全局变量
- powershell - 在任意长度的子字符串上拆分字符串 (Powershell)
- dialogflow-es - 是否可以使用对话流访问本地网络设备 API?
- python - keras - 评估生成器使用相同的训练数据产生不同的准确率
- python-3.x - 无法更改opencv中的输入视频分辨率
- alloy - 推理子类型的属性
- html - 使用正则表达式从 HTML 字符串中提取所需的属性值
- php - 如何修复菜单位置不保存在 Laravel Voyager 中?
- google-bigquery - 使用 BigQuery Jupyter 魔术命令时将变量从 python 环境添加到查询
- spring - Spring Boot 2.1.2、Hibernate 5:注册 Hibernate 事件监听器(插入/更新/删除)