zoukankan      html  css  js  c++  java
  • Asp.net页面中OpenLayers跨域访问GeoServer时用代理

    在asp.net页面中通过OpenLayers访问GeoServer的WMS与WFS服务,因为GeoServer都是运行在tomcat服务器上,所以,AJAX机制访问时,受到浏览器的限制,这就是跨域访问的问题。
    这个方法可以解决,在.net的WEB项目中添加一个aspx页面GeoServerProxy.aspx,并将页面中的html都删除,在后台添加代码:

    if (Page.Request.QueryString["URL"] != null)
            {
                string url = "";
                url = Page.Request.QueryString["URL"].ToString();
                HttpWebRequest loHttp =(HttpWebRequest)WebRequest.Create(url);
                loHttp.Timeout = 10000;     // 10 secs
                loHttp.UserAgent = "Web Client";
                HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse();
                Encoding enc = Encoding.GetEncoding(65001); 
                StreamReader loResponseStream =new StreamReader(loWebResponse.GetResponseStream(), enc);
                string lcHtml = loResponseStream.ReadToEnd();
                Response.Write(lcHtml);
                loWebResponse.Close();
                loResponseStream.Close();
            }

    在 OpenLayers中,JS中需要这样写
    OpenLayers.ProxyHost = 'GeoServerProxy.aspx?URL=';

  • 相关阅读:
    修改XCode默认注释并自动生成文档
    百度地图初始化引擎失败
    ios系统分享
    ios判断app是否有打开相机的权限
    mac下https方式连接svn连接不上解决方法
    abbyy ocr sdk
    ant的安装
    ubuntu安装nginx
    ubuntu安装gcc
    iOS保持长时间后台运行
  • 原文地址:https://www.cnblogs.com/jason819/p/3129349.html
Copyright © 2011-2022 走看看