移动网关 HTTP 无法直接一次返回结果的处理

最近用MTK创建socket, 通过HTTP协议 链接到移动网关 10.0.0.172:80 ,

具体发送的 HTTP 信息如下:

GET /billwebsvr.dll?GPhoneUrl HTTP/1.1
Host: 10.0.0.172
X-Online-Host: qd.sr9.cn
Accept: */*
Connection: Keep-Alive

正常情况会一次返回我们想要的结果, 但是有时候移动网关会返回 如下的东西, 不是我们想要的结果

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0" forua="true"/>
<meta http-equiv="Cache-Control" content="no-cache" forua="true"/>
<meta http-equiv="Cache-Control" content="must-revalidate" forua="true"/>
</head>
<card id="card" title="" >
<onevent type="onenterforward">
<go href="http://wap.07890.com/log/sl.php?t=82023"></go></onevent>
</card>
</wml>

这个时候我们应该怎么办呢 ?

我们可以取出里面的地址 “http://wap.07890.com/log/sl.php”,

在组合成一个 HTTP的协议头

GET /log/sl.php HTTP/1.1
Host: 10.0.0.172
X-Online-Host: wap.07890.com
Accept: */*
Connection: Keep-Alive

发送给移动网关, 这个时候即可返回我们想要的正确的结果了。

你可能感兴趣的:(http)