将本地路径传递给 HttpWebRequest
本文关键字:HttpWebRequest 路径 | 更新日期: 2023-09-27 18:35:14
我需要在 c# 中将本地路径传递给 HttpWebRequest。 我在我的 C 驱动器中有测试.xml,我需要在 HttpWebRequest
中获取该 XML 文件。 但它在
HttpWebRequest rqst = (HttpWebRequest)HttpWebRequest.Create(Uri.EscapeUriString(urlServ))
行"无效的 URI:无法解析颁发机构/主机"。
我的编码>
string urlServ = "file:''c:''test.xml";
try
{
HttpWebRequest rqst = (HttpWebRequest)HttpWebRequest.Create(Uri.EscapeUriString(urlServ));
rqst.KeepAlive = false;
}
catch{}
我相信
file:
URI 应该使用正斜杠而不是反斜杠创建。因此,请使用此:
string urlServ = "file:///c:/test.xml";
我注意到当我用反斜杠在浏览器中输入它时,FF 为我将其转换为正斜杠。
你应该
使用WebRequest.Create(uri)
- 这将根据URI类型(例如文件,http等)自动创建正确的对象。现在,您可以将相同的代码用于实际网页或本地测试文件。
我在FileWebRequest的文档中看到了这一点:
不要使用 FileWebRequest 构造函数。使用 WebRequest.Create 方法初始化 FileWebRequest 类的新实例。如果 URI 方案 file://,创建方法返回文件Web请求 对象。