AGS API for JS代理页的使用
AGS API for JS代理页的使用
1、概述
代理页即使用后端语言编写的请求转发页面,部署在Web应用端。客户端请求先发送到该代理页,代理页再将该请求转发到服务器处理,服务器处理结果再经代理页转发到客户端。
使用代理页的几种情况:
(1)Web应用部署的服务器与服务所在服务器不同,即存在跨域。
(2)避免将token暴露到客户端。
(3)Web应用最终用户非ArcGIS平台用户。
(4)超出URL地址长度限制(默认2048个字符)。
2、代理页配置与使用
根据后端语言不同,代理页有三种:ASP.NET、Java/JSP、PHP。下载地址见:
https://github.com/Esri/resource-proxy/releases
2.1、代理页配置
将解压后的java文件夹复制到web服务器中,如tomcat/wabapps下。
(1)proxy.config配置
| 
 参数  | 
 说明  | 
| 
 mustMatch=true  | 
 只有匹配的URL才走代理。  | 
| 
 logFile="本地绝对路径"  | 
 日志文件存储路径。  | 
| 
 logLevel=" SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST"  | 
 日志等级设置。  | 
| 
 allowedReferers="http://server.com/application1,https://server.com/application2"  | 
 只有匹配的客户端url才走代理。  | 
| 
 <serverUrl>  | 
 定义需要代理的服务配置。  | 
| 
 url=""  | 
 可使用根url,但matchAll需设置为false。  | 
| 
 matchAll="true"  | 
 是否必须匹配。  | 
| 
 username  | 
 与token服务联合使用。  | 
| 
 password  | 
 与token服务联合使用。  | 
| 
 tokenServiceUri  | 
 token服务访问地址。  | 
| 
 clientId  | 
 与OAuth认证联合使用。  | 
| 
 clientSecret  | 
 与OAuth认证联合使用。  | 
| 
 oauth2Endpoint  | 
 与OAuth认证联合使用。默认值:https://www.arcgis.com/sharing/oauth2/  | 
| 
 rateLimit  | 
 特定客户端IP发送的最大请求数,周期由rateLimitPeriod定义。  | 
| 
 rateLimitPeriod  | 
 默认60分钟。  | 
(2)取消web服务器文件列表功能
为保证proxy.config文件的安全,需关闭Web服务器文件列表功能,可通过url测试:
http://[yourmachine]/proxy/proxy.config
2.2、代理页使用
(1)方法1
esriConfig.defaults.io.proxyUrl = "<url_to_proxy>"
esriConfig.defaults.io.alwaysUseProxy = false;
其中esriConfig需要引入esri/config模块。
(2)方法2
使用代理规则,即定义资源url前缀,请求URL与规则中定义的前缀匹配时使用代理页。
urlUtils.addProxyRule({
urlPrefix: "route.arcgis.com",
proxyUrl: "<url_to_proxy>"
});
其中urlUtils需要引入esri/urlUtils模块。
2.3、测试
可使用url地址测试:
http://[yourmachine]/Java/proxy.jsp?http://services.arcgisonline.com/ArcGIS/rest/services/?f=pjson
AGS API for JS代理页的使用的更多相关文章
- 大熊君学习html5系列之------History API(SPA单页应用的必备)
		
一,开篇分析 Hi,大家好!大熊君又和大家见面了,(*^__^*) 嘻嘻……,这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例, 让大家一步一步的体会" ...
 - arcgis api for js入门开发系列二十打印地图的那些事
		
前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图.百度地图.高德地图等,底图都是打 ...
 - arcgis api for js 地图查询
		
arcgis api for js入门开发系列四地图查询(含源代码) 上一篇实现了demo的地图工具栏,本篇新增地图查询功能,包括属性查询和空间查询两大块,截图如下: 属性查询效果图: 空间查询效 ...
 - arcgis api for js入门开发系列四地图查询(含源代码)
		
备注:由于实现本篇功能的需求,修改了地图数据的dlsearch.mxd,然后更新了地图服务,需要的在文章最后有提供最新的mxd以及源代码下载的 上一篇实现了demo的地图工具栏,本篇新增地图查询功能, ...
 - arcgis api for js入门开发系列一arcgis api离线部署
		
在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...
 - AGS API for JavaScript 图表上地图
		
原文:AGS API for JavaScript 图表上地图 图1 图2 图3 -------------------------------------华丽丽的分割线--------------- ...
 - arcgis api for js入门开发系列十一地图统计图
		
上一篇实现了demo的叠加SHP图层,本篇新增地图统计图,截图如下: 地图统计图实现的思路如下:利用拓展arcgis api的js文件(MapChartGraphic.js以及MapChartGrap ...
 - 转:arcgis api for js入门开发系列四地图查询
		
原文地址:arcgis api for js入门开发系列四地图查询 arcgis for js的地图查询方式,一般来说,总共有三种查询方式:FindTask.IdentifyTask.QueryTas ...
 - Arcgis API for JS——打印控件乱码
		
在通过Arcgis API for JS编写打印控件进行地图下载时,总发现地图字体乱码,如下图: 解决方法: 在装有ArcGIS Server,要调用服务的电脑或服务器上找到下图文件夹
 
随机推荐
- tableView header Refresh 下拉刷新/上拉加载
			
一. UIScrollView 的分类 //作为入口 #import <UIKit/UIKit.h> #import "RefreshHeader.h" #import ...
 - mfix中更改time dependent VTK filename的最大时间步数的容量
			
默认是0000四位,有可能保存文件多了以后不够用,可以在源码中修改,修改以后效果: 源码位置: 把 I4. 改成 I5.
 - 51nod 1943 联通期望 题解【枚举】【二进制】【概率期望】【DP】
			
集合统计类期望题目. 题目描述 在一片大海上有 \(n\) 个岛屿,规划建设 \(m\) 座桥,第i座桥的成本为 \(z_i\),但由于海怪的存在,第 \(i\) 座桥有 \(p_i\) 的概率不能建 ...
 - head first
			
1, insert 单引号时,使用/转义 2, 不要用NULL, 查找时使用isNull 来判断. 3, 用and / or 连接两个not 时,要写两个NOT 4,delete from tab ...
 - 离线安装eclipse的maven插件包
			
离线安装eclipse的maven插件包 1.打开你本地的eclipse根目录,随便新建一个文件夹例如mavenPlugin,把maven离线插件包中两个文件夹复制到这个新建的这个文件夹里边 2.找到 ...
 - V1-bug  Alpha阶段项目展示
			
V1-bug Alpha阶段项目展示 团队成员简介 Name Summary Sefie wxmwy V1-bug制造公司资深工程师精通各种抱大腿方式团队吉祥物 182 面面俱到流派一丝不苟 Powe ...
 - qt下qmake:提示could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
			
编译出现的问题解决方法: 打开终端输入,qmake -v,出现错误:qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': N ...
 - Yii2 PHPExcel在linux环境下导出报500错误
			
断点调试后发现是因为这句报错 header('Content-Type : application/vnd.ms-excel');删除后正常输出下载
 - ORACLE INSERT ALL 用法
			
1INSERT ALL 1.1句法 multi_table_insert :: = conditional_insert_clause :: = 1.2multi_table_insert 在多表插入 ...
 - Kong在windows10的hyperV CentOS上安装
			
1.启用hyperV manager 2.下载CentOS 3.给CentOS共享网络,添加Legacy NetWork Adapter 4.启动CentOS后安装kong(官网可查) 5.安装Pos ...