利用WebApi获取手机号码归属地

前述:

  在WebApi中,涉及到一个重要的类,HttpWebRequest。

  学习link:httpwebrequest详解

示例演示:

代码示例:

  1、前端代码:

 1 @{
 2     ViewBag.Title = "Index";
 3     Layout = null;
 4 }
 5 @*<script src="~/Views/js/jquery-1.7.1.js"></script>*@
 6 @*<script src="~/Views/js/jquery.min.js"></script>*@
 7 <script src="~/Scripts/jquery-1.8.2.min.js"></script>
 8 <h2>Index</h2>
 9 请输入手机号码:<input type="text" id="inputPhoneNum" value=""/><br />
10 <input type="button" value="获取归属地" id="getPhoneData"/>
11 <div id="content"></div>
12 <script>
13     $(function () {
14         $(‘#getPhoneData‘).click(function () {
15             var str = "";
16             var inputPhoneNum = $("#inputPhoneNum").val();
17             $.ajax({
18                 url: "/APITest/GetPhoneAreaDatet",
19                 data: { phoneNum: inputPhoneNum },
20                 dataType: "json",
21                 success: function (result) {
22                     $(‘#content‘).empty();   //清空resText里面的所有内容
23                     var json = result;
24                     var resobj = JSON.parse(json);
25                     //{province:‘广东‘,cityname:‘广州‘}
26                     $(‘#content‘).html("手机号码" + inputPhoneNum + "的归属地为:" + resobj.province + resobj.cityname);
27                 }
28             });
29         });
30     });
31 </script>

  2,后台代码:

 1  public class APITestController : Controller
 2     {
 3         //
 4         // GET: /APITest/
 5
 6         public ActionResult Index()
 7         {
 8             return View();
 9         }
10
11         public JsonResult GetPhoneAreaDatet() {
12             //1.0 确定url  网络爬虫(蜘蛛)
13             string phoneNum = Request.QueryString["phoneNum"];
14             string url = "http://virtual.paipai.com/extinfo/GetMobileProductInfo";
15             string paras = string.Format("mobile={0}&amount={1}&callname={2}"
16                , phoneNum
17                , 10000
18                , "getPhoneNumInfoExtCallback");
19             string Result = "";
20             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
21             request.Method = "POST";
22             //做请求
23             request.ContentType = "application/x-www-form-urlencoded; charset=gb2312";
24             request.MaximumAutomaticRedirections = 4;
25             request.MaximumResponseHeadersLength = 4;
26
27             byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(paras);
28             request.ContentLength = requestBytes.Length;
29
30             Stream requestStream = request.GetRequestStream();
31             requestStream.Write(requestBytes, 0, requestBytes.Length);
32             requestStream.Close();
33
34             //request.Credentials = CredentialCache.DefaultCredentials;
35             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
36
37             //读结果
38             Stream receiveStream = response.GetResponseStream();
39             StreamReader readStream = new StreamReader(receiveStream, Encoding.GetEncoding("gb2312"));
40             Result = readStream.ReadToEnd();
41             response.Close();
42             readStream.Dispose();
43             //{mobile:‘13926231057‘,province:‘广东‘,isp:‘中国移动‘,stock:‘1‘,amount:‘10000‘,maxprice:‘0‘,minprice:‘0‘,cityname:‘广州‘}
44
45             int indexOfProFrist = Result.IndexOf("province")+10;
46             int indexOfProEnd = Result.IndexOf("isp")-2;
47             int indexOfCityFrist = Result.LastIndexOf("cityname")+10;
48             int indexOfCityEnd = Result.IndexOf(‘}‘)-1;
49             string strPro = Result.Substring(indexOfProFrist,indexOfProEnd-indexOfProFrist);
50             string strCity = Result.Substring(indexOfCityFrist, indexOfCityEnd - indexOfCityFrist);
51             string strJsObj = "{\"province\":\"" + strPro + "\",\"cityname\":\"" + strCity + "\"}";
52             //int indexOfName
53             return Json(strJsObj, JsonRequestBehavior.AllowGet);
54         }
55     }
时间: 2024-08-03 11:35:38

利用WebApi获取手机号码归属地的相关文章

Android 开发工具类 31_WebService 获取手机号码归属地

AndroidInteractWithWebService.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12=

利用json获取天气信息

天气预报信息获取是利用json获取的,网上有非常多资源,源码.因为上面涉及到非常多天气信息,包含湿度,出行建议等,以及加入了全部城市代码的资源包.为了练手了解json的原理.我仅获取诚笃城市的最高温,最低温,城市名字. 我的布局是通过一个button获取城市名字,最高温,最低温.main.xnl代码例如以下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo

无法获取手机号码

今天起床看了一下曾经下载的N多的代码,随便挑了个简单的看了一下,看名字(获取手机号码,获取手机运营商)挺有意思的就学习了一下. 然后发现仅仅能获取运营商信息,无法得到号码,就百度谷歌了一下,找到了原因与解决的方法,以下贴一些链接 PS:链接注意去掉空格,不知道为什么带了链接公布不了,见谅见谅 刚刚看了一下,资源下载的百度盘链接没有显示出来  http:// yun.baidu.com/s/1i3oRLJ3 http://www. cppblog.com/fwxjj/archive/2011/01

使用AFinal框架实现HTTP请求从网络获取手机号归属地

关于AFinal框架的介绍与使用,请点击左侧相关文章分类,进行了解,本篇文章不再进行赘述. 本篇文章主要是使用AFinal框架,实现一个简单的,从网络获取手机归属地的功能,给新手介绍如何使用这个框架,完成与服务器之间的交互. 首先,我们介绍一下我们需要用到的网络接口. http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx 上面这个网址是一个WebService的网站,主要功能是对外提供WebService服务. 我们主要使用下

利用反射获取字段并获取值或者设置值

package Reflect; import java.lang.reflect.Field;class User{ public String account; public String password;}class Student extends User{ public int age; public String name; private String sex; public Student() { System.out.println("调用无参构造器创建对象");

利用ParameterizedType获取泛型参数类型

//利用ParameterizedType获取java泛型的参数类型 public class Demo { public static void main(String[] args) { classTest(); interfaceTest(); } private static void classTest() { MySuperClass<Student, String> mySuperClass = new MySuperClass<Student, String>() 

利用PHP获取一个页面上的链接信息

开发中我们可能会获取某个页面或是一段内容中的链接信息,下面我分享一个我写的函数给大家,希望能帮到大家. 函数功能: 1.获取一段内容中链接信息: 2.获取一个URL中链接信息: 3.剔除锚链等无效的链接 4.获取当前域下的链接信息 5.获取他域下的链接信息 6.保留链接的文本信息 代码: /** * +---------------------------------------------------------- * 功能:获取一个网页或一段内容里面的链接信息 * +------------

OC利用正则表达式获取网络资源(网络爬虫)

在开发项目的过程,很多情况下我们需要利用互联网上的一些数据,在这种情况下,我们可能要写一个爬虫来爬我们所需要的数据.一般情况下都是利用正则表达式来匹配Html,获取我们所需要的数据.一般情况下分以下三步:1.获取网页的html2.利用正则表达式,获取我们所需要的数据3.分析,使用获取到的数据,(例如,保存到数据库) 接下来我们分析代码:1.获取网页的html 对于一些网页,不需要提交Post提交数据时,我们可以简单的利用NSURL类来获取我们所需要的html,交将其转换中kCFStringEnc

c#反射机制学习和利用反射获取类型信息

反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的名称.限定符和参数等.有了反射,即可对每一个类型了如指掌.如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道 1..NET可执行应用程序结构 程序代码在编译后生成可执行的应用,我们首先要了解这种可执行应用程序的结构. 应用程序结构分为应用程序域—程序集—模块—类型—成员几