向http://www.google.com/glm/mmap 发送POST 的参数是什么??

huanghuping 2010-01-05 04:28:34
http://www.codeproject.com/KB/mobile/DeepCast.aspx
这个网址里面实现了这项功能但是 我不知道怎么用运载Symbian 上 请大侠们帮帮我白
...全文
5424 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jennifer_xjshz 2011-12-15
  • 打赏
  • 举报
回复
3楼 alwayson的代码没问题,按这个数据格式上传到google可以得到数据。只是3楼关于GSM信令格式的说明部分没有看懂,谁能帮忙解释一下吗?

另外,电信的数据怎么处理呢?也就是说将电信的sid、bid、nid、mcc POST到google怎么办?急!
zongmekeneng 2011-11-18
  • 打赏
  • 举报
回复
貌似得用json数据 post上传…… 只是听说而已……  具体怎么用  还在找资料……
tiantang1fu 2010-07-19
  • 打赏
  • 举报
回复
请问主机试的怎么样了哦,可不可行了哦
hyongjie 2010-07-13
  • 打赏
  • 举报
回复
cgfsdsdfcsd
wsj2024cxq 2010-06-02
  • 打赏
  • 举报
回复
嗯,我知道GSM和WCDMA的CID的差别。
我的意思是联通WCDMA基站CID不一定大于65536,比如我这儿看到的联通WCDMA:460-01-40972-14931。14931就<2^16。
所以google的参数有些费解。我意google应该统一按 int 64 去处理的,所以别去判断在WCDMA下还是GSM下,更不能认为小于65536就不是WCDMA。
alwayson 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 showtyt 的回复:]

65536是因为联通和移动、电信的cellid不同,联通的是大于65536的
[/Quote]
嗯,我知道GSM和WCDMA的CID的差别。
我的意思是联通WCDMA基站CID不一定大于65536,比如我这儿看到的联通WCDMA:460-01-40972-14931。14931就<2^16。
所以google的参数有些费解。我意google应该统一按 int 64 去处理的,所以别去判断在WCDMA下还是GSM下,更不能认为小于65536就不是WCDMA。
alwayson 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 huanghuping 的回复:]

谢谢啊 !我测试一下
[/Quote]
试通了吗?回来吼一声啊!
showtyt 2010-05-05
  • 打赏
  • 举报
回复
65536是因为联通和移动、电信的cellid不同,联通的是大于65536的
huanghuping 2010-01-08
  • 打赏
  • 举报
回复
谢谢啊 !我测试一下
alwayson 2010-01-07
  • 打赏
  • 举报
回复
从 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                  |
|**b12*** |MCC number                  |460                 |
|1111---- |Filler                    |15                 |
|----0000 |MNC digit 1                 |0                  |
|0000---- |MNC digit 2                 |0                  |
|***B2*** |LAC                     |22463                |
|00000001 |RAC                     |1                  |
|***B2*** |CI                      |19941                |

本人是做通信和互联网的,已经有十多年不写程序了,来这里是了解了解 symbian 程序员的行情。本人正寻觅中高级 symbian 程序员作网络和多媒体方面的开发( http://www.suyuanchang.com/zhaopin/ ),各位如若有人才推荐,在此谢过!
huanghuping 2010-01-06
  • 打赏
  • 举报
回复
对啊 但是里面还要包含点内容
我不知道内容啊?
这是GOOGLE的一个API 但是好像没有公开啊
hurryboylqs 2010-01-05
  • 打赏
  • 举报
回复
就是发个HTTP请求?

3,120

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧