我是靠谱客的博主 奋斗乌龟,最近开发中收集的这篇文章主要介绍OpenLayers基础:在IIS中部署并启用CGI,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在使用OpenLayers过程中,若在IIS下部署,需要在IIS启用CGI,当前以IIS7为例进行介绍如何来启用CGI和相关的设置。启用CGI的目的是使用WFS的前提,因为WFS在请求过程中会出现跨域问题,所以根据OpenLayers的建议,只需要使用其自带的代理CGI。

1. 安装python

由于OpenLayers下的默认内置CGI是python实现的,所有要在机器上预先安装python运行环境,关于其安装,本文也不过多介绍,可以去官网http://www.python.org上下载安装即可。

2. 启用CGI

关于如下在IIS7中启用CGI,请参考本人前面的博文《在IIS7中启用CGI》,里面已做详细介绍,在此不做赘述,最终设置如下图。

3. 添加代理域

打开OpenLayers下的proxy.cgi,前部分代码如下:

 
  
  1. #!/usr/bin/env python 
  2.  
  3. """This is a blind proxy that we use to get around browser 
  4. restrictions that prevent the Javascript from loading pages not on the 
  5. same server as the Javascript.  This has several problems: it's less 
  6. efficient, it might break some sites, and it's a security risk because 
  7. people can use this proxy to browse the web and possibly do bad stuff 
  8. with it.  It only loads pages via http and https, but it can load any 
  9. content type. It supports GET and POST requests.""" 
  10.  
  11. import urllib2 
  12. import cgi 
  13. import sys, os 
  14.  
  15. # Designed to prevent Open Proxy type stuff. 
  16.  
  17. allowedHosts = ['www.openlayers.org''openlayers.org'
  18. '192.168.0.201:8088'
  19.                 'labs.metacarta.com''world.freemap.in',  
  20.                 'prototype.openmnnd.org''geo.openplans.org'
  21.                 'sigma.openplans.org''demo.opengeo.org'
  22.                 'www.openstreetmap.org''sample.avencia.com'
  23.  
  24. method = os.environ["REQUEST_METHOD"
  25. # ...

python变量allowedHosts中,默认已添加了openlayers相关的网站域名,在实际应用过程中,本人的GeoServer的IP为192.168.0.201:8088,将其添加到其中即可。

4. 指定代理地址

在openlayers在使用wfs时,只需要添加如下一行代码即可,proxy.cgi的路径可以跟据实际情况来指定,由于本人实际应用中,是将proxy.cgi放在当前程序的相同目录。

 
  
  1. OpenLayers.ProxyHost = "proxy.cgi?url="

P.S. 设置比较简单,持续应用中。

转载于:https://blog.51cto.com/pengjh/621188

最后

以上就是奋斗乌龟为你收集整理的OpenLayers基础:在IIS中部署并启用CGI的全部内容,希望文章能够帮你解决OpenLayers基础:在IIS中部署并启用CGI所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部