当前位置:编程学习 > wap >>

通过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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,