设为首页 收藏本站
查看: 1103|回复: 0

[经验分享] 通过 WebService 调用获取数据

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-12-30 12:32:36 | 显示全部楼层 |阅读模式
  在网上找到一个是由手机在线提供的一个不错的简单实用的接口。
  该网站提供的接口包括如下类型:


  • 通过 WebService 调用获取数据
  • 通过 HTTP Post/Get 获取 XML 格式的数据
  • 通过 HTTP Post/Get 获取 JSON 格式的数据
  • 通过 HTTP Post/Get 获取普通文本格式数据
  • 通过 form 或 iframe 标签插入 Web 页面
  • 通过 JavaScript 和 HTML 标签插入 Web 页面
通过 WebService 调用获取数据
  Web Service 地址:http://api.showji.com/locating/Mobile.asmx
  只含有一个对象:Mobile。其成员如下:

获取手机号码归属地信息
  函数原型:
  

bool Query(string Mobile, out string Province, out string City, out string AreaCode, out  string PostCode, out string Corp, out string Card);
  

  参数:
  

Mobile: 待查询的手机号码。  Province: 返回手机号码归属地的省份。
  City: 返回手机号码归属地的城市。
  AreaCode: 返回手机号码归属地的区号。
  PostCode: 返回手机号码归属地的邮编。
  Corp: 返回所属运营商。
  Card: 返回所属卡类型。
  

  返回值:
  

返回 bool 值,表示用户输入的号码是否可识别。  

获取当前服务状态
  函数原型:
  

bool GetStatus();  

  返回值:
  

返回 bool 值,表示当前服务是否可用。  使用php开源的soap库直接调用即可,这个调用比较简单,在这里就不在多说,具体详细的介绍,可参考我的另一篇
  博文:使用PHP SOAP库调用标准Webservice接口
  

通过 HTTP Post/Get 获取 XML/JSON/普通文本 格式的数据
  

调用接口形式:http://api.showji.com/locating/?m=$mobile&output=$type  

参数说明:  $mobile:要查询的手机号码(可以全部11位号码,也可只输入前7位)。
  $type:查询结果的数据格式类型,其值可为:xml, json或text三个值。
  

  通过PHP来实现,可以采用curl的方式来获取数据进行展示,对于xml和json在实际中我们直接通过处理来获取数据。
  程序实现如下:
  

<?php  $mobile ='13844033329';
  $type = 'text';
  $url = "http://api.showji.com/locating/?m=$mobile&output=$type";
  $ch = curl_init();
  curl_setopt($ch,CURLOPT_URL,$url);
  curl_setopt($ch,CURLOPT_POST,1);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  $data = curl_exec($ch);
  curl_close($ch);
  //输出手机归属地相关信息
  echo $data."/n";
  //输出结果:
  Mobile:13844033329
  QueryResult:True
  Province:吉林
  City:长春
  AreaCode:0431
  PostCode:130000
  Corp:中国移动
  Card:GSM
  

?>  

通过 form 或 iframe 标签插入 Web 页面
  这种方式可以在您的网站中嵌入手机归属地查询程序,以便提供给用户使用,提升您的网站的用户黏性。
  1.基于form提交的有两种形式,一种是直接在新窗口打开完整页面,另一个是打开小窗口,代码形式分别如下:
  打开完整新窗口代码:
  

<form name="formLocating" action="http://api.showji.com/Locating/query.aspx" method="GET" target="_blank">
  <input type="text" name="m" value="请输入手机号码">  <input type="submit" value="查询" />
  </form>
  

  打开小窗口代码:
  

<form name="formLocating" action="http://api.showji.com/Locating/query.aspx" method="GET" target="Locating">
  <input type="text" name="m" value="请输入手机号码">  <input type="submit" value="查询" />
  </form>
  

  2.使用iframe包含直接嵌入到网页中
  

<iframe name="frameLocating" src="http://api.showji.com/Locating/query.aspx">  

通过 JavaScript 和 HTML 标签插入 Web 页面
  这种方式可以实现样式的任意定制,客户端仅需要包含一个 JavaScript 脚本和显示结果的 HTML 代码即可。并且,定制的页面支持来自 GET 方式的提交,从而本地可以定制多种查询情况。
  页面 part1.htm,实现完整的查询页面:
  

<html>  <head>
  <meta http-equiv="Content-Type" content="text/html; " />
  </head>
  <body>
  <form >

  请输入手机号码:<input>  <input type="Submit" value="查询" />
  </form>
  <div>
  <span>您输入的手机号码有误</span>
  </div>
  

  

  <div>
  手机号码:<span></span><br/>
  

所属省份:<span></span><br/>  所属城市:<span></span><br/>
  区  号:<span></span><br/>
  邮  编:<span></span><br/>
  类  型:<span></span><br/>
  

  

</div>  <div>
  </div>
  <script type="text/javascript" src="http://blog.163.com/lgh_2002/blog/http://api.showji.com/Locating/Query.js">
  </script>
  </body>
  </html>
  

  页面 part2.htm,简单的查询文本框,可提交查询至 part1.htm(如果要修改文件名,请确保其一致)。
  

<html>  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  </head>
  <body>
  <form name="formLocating" action="part1.htm" method="GET">

  <input type="text" name="m" value="请输入手机号码">  <input type="submit" />
  </form>
  </body>
  </html>
  

  

  页面 part2.htm 如果使用 POST 方式提交,必须满足以下条件:part1.htm 必须经服务器端脚本解析。例如使用
  

  part1.asp 取代 part1.htm。同时,必须在引用 Query.js 前,增加如下代码:
  

<script type="text/javascript">  strMobile=“<%=Request("m")%>”;
  </script>
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-429657-1-1.html 上篇帖子: php ini_set更改php.ini配置,通过它修改php.in达到php上传文件大小限制是不行的,除非修改.htaccess文件 下篇帖子: php 高并发解决方案(用于抢购) 转载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表