通过cmwap,使用socket连接http地址,如何避免代理服务器返回的中间页
我使用cmwap,先建立GPRS连接后,然后通过socket连接自己的一个http地址,想获得返回值,但是每次返回的cmwap代理生成的中间跳转和确认的页面,有没有什么好的办法能够直接访问到我自己的http地址下面是我的代码段,各位高手帮忙看看
private void Connect()
{ string urlStr = "gps.test.com";
string path = "/GetMobilePara";
int port= 80;
try
{
byte[] data = new byte[1024];
IPEndPoint ipEnd = new IPEndPoint(IPAddress.Parse("10.0.0.172"), 80);
//使用tcp协议 stream类型 (IPV4)
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
socket.Connect(ipEnd);
}
catch (SocketException e)
{
MessageBox.Show("与访问的服务器连接异常!");
Console.Write(e.ToString());
return;
}
//这里请求的相对地址,如果访问直接www.baidu.com则不需要,可以为空.
StringBuilder buf = new StringBuilder();
buf.Append("POST ").Append("http://"+urlStr+path).Append(" HTTP/1.1\r\n");
buf.Append("Accept: */*\r\n");
buf.Append("Host:").Append(urlStr).Append("\r\n");
buf.Append("Connection:Keep-Alive\r\n");
buf.Append("Content-Type: application/x-www-form-urlencoded\r\n");
buf.Append("X-Up-Sim-Card-ID: ").Append("460005566778899\r\n");
buf.Append("X-Up-Version-ID: 1.0\r\n");
buf.Append("Content-Length: 0");
buf.Append("\r\n");
byte[] ms = System.Text.UTF8Encoding.UTF8.GetBytes(buf.ToString());
//发送
socket.Send(ms);
int recv = 0;
do
{
recv = socket.Receive(data);
this.textBox1.Text += (Encoding.UTF8.GetString(data, 0, recv));
} while (recv != 0);
//禁用上次的发送和接受
socket.Shutdown(SocketShutdown.Both);
socket.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
} --------------------编程问答-------------------- 把代理设置成 10.0.0.172 80
--------------------编程问答-------------------- 船长,CMWAP的代理是不是都是10.0.0.172 80 ? --------------------编程问答-------------------- CF.NET 2.0 通过cmwap访问外部webService
http://www.cnblogs.com/drw/archive/2008/09/13/653489.html
--------------------编程问答-------------------- 移动的和联通的是10.0.0.172:80,电信的是10.0.0.200:80 --------------------编程问答-------------------- 判断出来是中间页后再重发一次相同的请求即可
补充:移动开发 , Windows Phone