通过移动wap网关代理,如果post彩信?
正在研究使用带gprs模块的短信猫发送彩信,是wavecome的。没有封装ppp协议,不过通过操作系统自带的拨号功能能够解决。
我现在通过建立gprs拨号,已经成功获得了ip地址,进入了gprs网络。并且能够telnet 10.0.0.172 80 连接正常,这说明我能够正常访问wap网关。但接下来我模拟post请求到移动彩信中心,就有问题了。我通过socket建立了和 10.0.0.172 80 的连接,当我将模拟的post请求通过socket发送过去的时候会返回
HTTP/1.0 200 OK
Content-Type: application/vnd.wap.wmlc; charset=UTF-8
Content-Length: 78
Connection: Close
Proxy-Connection: Close
Via: HTTP/1.1 HESJ-PS-WAP3-GW13(infoX-WISG, Huawei Technologies)
乱码no-cache乱码 702 不完整的请求 ------------(这里我调试过,有时候出400,错误的请求)
无论如何就是发送不出去。还望指点。
下面是我使用的头信息
$MmscName = "http://mmsc.monternet.com";
//MmscName为彩信服务器, 移动为"http://mmsc.monternet.com";, 联通为"http://mmsc.myuni.com.cn";
$headerBuffer = "POST http://"; + $MmscName + " /HTTP /1.1\r\n";
$headerBuffer += "Accept: image/png, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\r\n";
//网关地址, 目前移动联通都是 10.0.0.172:80
$headerBuffer += "Host: 10.0.0.172:80\r\n";
$headerBuffer += "X-Online-Host: " + $MmscName + "\r\n";
$headerBuffer += "Pragma: no-cache\r\n";
$headerBuffer += "Cache-Control: no-cache\r\n";
$headerBuffer += "Connection: Keep-Alive\r\n";
$headerBuffer += "Accept-Encoding: deflate, gzip\r\n";
$headerBuffer += "User-Agent: SAMSUNG-SGH-E908/NetFront 3.2/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1\r\n";
$headerBuffer += "Accept: application/vnd.wap.mms-message, image/vnd.wap.wbmp, image/png, image/jpeg, image/gif, text/x-iMelody, text/x-imelody, application/x-midi, audio/midi, audio/mid, audio/x-mid, image/bmp, audio/mp3, audio/x-midi, audio/amr, application/vnd.smaf, application/vnd.wap.mms-message x-wap-profile:http://wap.samsungmobile.com/uaprof/e908_10.xml\r\n";
//s_length 为彩信包的长度
$headerBuffer += "Content-Length:" + $s_length + "\r\n";
$headerBuffer += "Content-Type:application/vnd.wap.mms-message\r\n\r\n";
//在\r\n\r\n之后接的就是彩信包数据了