嗨大家我在从服务器试用时遇到上述错误(在服务器上部署了相同的代码)。 但是当我尝试使用本地机器中的相同代码时,它并没有给出错误。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
任何想法的人可能会出错?
答案 0 :(得分:7)
传入的URI不是http
URI - 它只是一个路径或file
URI。确保URI以http:
开头。如果它是相对URI,则需要将其设为绝对值。
答案 1 :(得分:2)
WebRequest
是WebRequest.Create()
工厂方法返回的类型,是抽象类型。
根据URL字符串中识别的协议,它会返回一个有效的子类,如FileWebRequest
或FtpWebRequest
。
您的代码中的问题是您正在尝试创建本地文件(file://)协议的请求,因此工厂返回FileWebRequest
,但您强制代码认为它是远程的HTTP URL。只需错误。
这解释了它只适用于远程文件而非本地文件