摘要:下载Google地图数据,出现远程服务器返回错误: (403) 已禁止,通过修改HttpWebRequest参数解决问题
问题描述:Google地图网站有两个
国内:国外
两个地图网站,国内的地图由于国家测绘局的规定已经被和协像国内大多数网站一样在地图底数据数据上经过非线性变换导至地图便移
可以参见:
还有人通过抓虫程序下载了大量的便移校正参数,来对地图进行校正。通过国内网站下载的影像数据通过解算的地图坐标进行校正后,会有一定的便移,即国家测绘局的非线性便移系数。
如果下载国外网站的数据就不会出线这个问题,采用Google影像下载工具下载国内网站地图数据一直好用
今天将地图下载参数改成国外网站发现在下载数据的时候在
WebResponse pWeb = request.GetResponse();报错:远程服务器返回错误: (403) 已禁止,将下载地址:
图,说明不是由于下载过快导致封Ip而引起的,浏览器也是程序,说明是可以通过修改参数来解决这个问题。
使用http分析工具(HttpAnalyzerStdV5)进行监控两个HTTP请然后比较参数发现浏览器的仿问头文件中多
request.Accept = @"application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/msword, */*";
request.UserAgent = @"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
这两个参数,在程序中写入这两个参数,运行通过并下载了地图数据
该数据直接采用Google数据进行编码可以跟其它带有准确坐标数据进行无缝叠加对接。利用拼接功能将这些瓦片数据进行拼接
通过程序输出的自动校正参数
将影像数据加入到地图当中,通过GeoReferencing工具对影像进行校正
最后利用工具不需要任何人工采点校正就可达到地图叠加匹配的效果
可以满足大多数用户需求
远程服务器返回错误: (403) 已禁止