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,要调用服务的电脑或服务器上找到下图文件夹
随机推荐
- 27.Next Permutation(下一个字典序列)
Level: Medium 题目描述: Implement next permutation, which rearranges numbers into the lexicographicall ...
- spring IOC的实现原理
姓名:陈中娇 班级:软件151 1. IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化.定位.配置应用程序中的对象及建立这些对象间的依赖.应用程序无需直接在代码中new相关的对象,应 ...
- wifi测距
#include "ESP8266WiFi.h" #include "math.h" //d = 10^(A-(abs(rssi)) / (10 * n)) 信 ...
- [USACO19FEB]Cow Dating
Luogu5242 通过观察数据,我们可以发现,右端点的取值是单调递增的.于是,我们可以极限一波,用一个双指针法,类似于队列. 右端点的取值满足以下公式: (1-p1)(1-p2)..(1-pn) * ...
- 小程序 - 分包加载上限8M(一)
使用分包 配置方法 假设支持分包的小程序目录结构如下 ├── app.js ├── app.json ├── app.wxss ├── packageA │ └── pages │ ├── c ...
- signed char型内存位bit表示
signed char型内存 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9 ...
- Revit二次开发_快速显示隐藏剖面框
最近遇到一种状况需要经常切换剖面框的可见性,于是想将剖面框的显示与隐藏做成一个按钮,方便切换. 其他类似元素想做成快速切换可见性应该可以使用类似做法. 这次的隐藏对象是剖面框,所以我直接就隐藏元素了. ...
- 阿里云CentOS环境下tomcat启动超级慢的解决方案
1 为什么会出现这个问题 Tomcat在本地服务器跑,一切都正常,但部署到阿里云上,发现启动巨慢. 经过在网上搜索,找到了原因: Tomcat 7/8都使用org.apache.catalina.ut ...
- SQL Cookbook—字符串
1.遍历字符串2.计算字符在字符串中出现的次数3.从字符串中删除不需要的字符4.将字符和数字数据分离5.判别字符串是不是字母数字型的6.提取姓名的大写首字母缩写7.按字符串中的部分内容排序8.按字符串 ...
- iOS 富文本属性
// NSFontAttributeName 设置字体属性,默认值:字体:Helvetica(Neue) 字号:12 // NSForegroundColorAttributeNam 设置字体颜色,取 ...