hal*_*c.w 2 f# visual-studio-2010
最近我参加了一个CBIR学生项目.我们需要很多世界地标的照片.我发现这个用F#编写的Flickr Crawler项目(博客,源代码).但是在我的Visual Studio 2010中构建它时遇到错误:
错误FS0193:类型约束不匹配.WebRequest类型与HttpWebRequest类型不兼容."WebRequest"类型与"HttpWebRequest"类型不兼容
第2行(让req = ...)是错误发生的地方:
let downloadUrl(url:string) =
let req = HttpWebRequest.Create(url) :> HttpWebRequest
req.UserAgent <- "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
req.Method <- "GET";
req.AllowAutoRedirect <- true;
req.MaximumAutomaticRedirections <- 4;
req.MaximumAutomaticRedirections <- 4;
let resp = req.GetResponse()
let stream = resp.GetResponseStream()
let reader = new StreamReader(stream)
reader.ReadToEnd()
Run Code Online (Sandbox Code Playgroud)
我之前没有学过F#所以我对F#不熟悉.此错误消息提示了什么以及如何解决?
错误非常小.该:>运营商将只执行已知在编译时取得成功,那么将不会从投铸件HttpWebRequest.Create(url)到HttpWebRequest,因为这实际上是返回WebRequest.作为你需要使用的reult
let req = HttpWebRequest.Create(url) :?> HttpWebRequest
Run Code Online (Sandbox Code Playgroud)
而是允许在继承树中以另一个方向进行转换.不同之处在于,由:?>运行时生成的强制转换可能会失败(但在这种情况下不应该因为所有URL都应该是http)
| 归档时间: |
|
| 查看次数: |
238 次 |
| 最近记录: |