欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

向http://www.google.com/glm/m地图 发送post 的参数是什么?

更新时间: 2014-01-05 02:39:59 责任编辑: Author_N1

 

向http://www.google.com/glm/mmap 发送POST 的参数是什么??
http://www.codeproject.com/KB/mobile/DeepCast.aspx
这个网址里面实现了这项功能但是 我不知道怎么用运载Symbian 上  请大侠们帮帮我白
--参考方法--
 从 GoogleMapsCellService.cs 这个源文件看,我觉得API是公开的,即:
HTTP方法为 POST;
ContentType 为 application/binary ,接下来就是http数据区了,只填写由基站码, 国家码, 网络码,和区域码构造的基站位置码(GSM标准里叫CGI=国家码+网络码+区域码+基站码)数据结构即可。
上述数据提交给 Google ,正常情况下就返回经纬度区域。

不过我只是简单的看了下源代码,netcat军刀用的有点不熟了,没工夫测试。

下述详解:

HTTP POST 方法部分:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("http://www.google.com/glm/mmap"));
request.Method = "POST";

request.ContentLength = formData.Length;
request.ContentType = "application/binary";
Stream outputStream = request.GetRequestStream();

// Write the cell data to the http stream
outputStream.Write(formData, 0, formData.Length);
outputStream.Close();

POST DATA 数据结构:
byte[] pd = new byte[55];
pd[1] = 14;     //0x0e;
pd[16] = 27;    //0x1b;
pd[47] = 255;   //0xff;
pd[48] = 255;   //0xff;
pd[49] = 255;   //0xff;
pd[50] = 255;   //0xff;
pd[28] = ((Int64)cellTowerId > 65536) ? (byte)5 : (byte)3; // GSM uses 4 digits while UTMS used 6 digits (hex)
Shift(pd, 17, mobileNetworkCode);
Shift(pd, 21, mobileCountryCode);
Shift(pd, 31, cellTowerId);
Shift(pd, 35, locationAreaCode);
Shift(pd, 39, mobileNetworkCode);
Shift(pd, 43, mobileCountryCode);
return pd;

上述 cellTowerId, mobileCountryCode, mobileNetworkCode和locationAreaCode 即基站码, 国家码, 网络码和区域码,需要注意GSM二代网的cellTowerId是16bit,WCDMA的是24bit。比如我这儿的移动GSM基站CGI:460-00-4292-22612,联通WCDMA基站CGI 460-01-40972-14931。
本人对写程序代码不擅长,上述代码中为何有 (Int64)cellTowerId > 65536? 的判断我有些不懂,如果你要开发GSM和WCDMA兼容的程序,pd[28]这这儿填5还是填3须仔细测试!

另外,关于编码上可能也需要注意。GSM编码在16进制和10进制上让常人有些不习惯,可能需要斟酌google把 460 国家码是当作10进制处理还是16进制处理?以及Symbian API 返回的460是16进制格式还是10进制格式的问题,也许是块绊脚石,我估计Google是以10进制处理,但网络通讯协议里是16进制格式。看看下面这组GSM信令的封装格式就清楚怎么回事了:
对于信令数据: 08 88 64 f0 00 57 bf 01 4d e5 ,信令仪会按如下解码,也即 460 是16进制的(后面加了个f填充为2Byte):

--参考方法--
Cell identifier                                       
--参考方法--


--参考方法--
00001000 
--参考方法--
IE Name                   
--参考方法--
Cell identifier           
--参考方法--


--参考方法--
10001000 
--参考方法--
IE Length                  
--参考方法--
8                  
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:39:59
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/12810/
本文WWW.DOC100.NET DOC100.NET版权所有。