我需要在c#中将本地路径传递给HttpWebRequest。我的c盘中有test.xml,我需要在HttpWebRequest
中获取该xml文件。但它在
HttpWebRequest rqst = (HttpWebRequest)HttpWebRequest.Create(Uri.EscapeUriString(urlServ))
line“无效的URI:无法解析授权/主机。”
我的编码 - >
string urlServ = "file:\\c:\\test.xml";
try
{
HttpWebRequest rqst = (HttpWebRequest)HttpWebRequest.Create(Uri.EscapeUriString(urlServ));
rqst.KeepAlive = false;
}
catch{}
答案 0 :(得分:2)
我相信file:
URI应该使用正斜杠而不是反斜杠创建。所以,使用这个:
string urlServ = "file:///c:/test.xml";
我注意到当我用反斜杠在浏览器中键入它时,FF将它转换为正斜杠。
答案 1 :(得分:1)
您应该使用WebRequest.Create(uri)
- 这将根据URI类型(例如文件,http等)自动创建正确的对象。现在,您可以将相同的代码用于实际网页或本地测试文件。
我在FileWebRequest的文档中看到了这一点:
不要使用FileWebRequest构造函数。使用WebRequest.Create 初始化FileWebRequest类的新实例的方法。如果 URI方案是file://,Create方法返回FileWebRequest 对象