C#开发Windows mobile 应用程序链接网络。

下面是我在项目中用到的网络链接代码。和大家分享。

private String RequestAndResponse()
        {

            //阻塞用户界面
            Cursor.Current = Cursors.WaitCursor;

            try
            {
                //获得URL请求
                HttpWebRequest hreq = null;

                hreq = (HttpWebRequest)WebRequest.Create(url);

                //设置超时
                hreq.Timeout =20000;

                //设置缓存
                hreq.AllowWriteStreamBuffering = false;

                //发送方式
                hreq.Method = "POST";
                hreq.ContentType = "application/x-www-form-urlencoded";
                //发送数据
               
                //UTF-8编码
                UTF8Encoding utf8 = new UTF8Encoding();

                //对发送内容进行UTF-8编码
                byte[] data = utf8.GetBytes(content);
                hreq.ContentLength = data.Length;

                //从web链接获得输入流
                Stream newStream = hreq.GetRequestStream();
                newStream.Write(data, 0, data.Length);
                newStream.Close();
                //得到页面相应内容
                returnString = GetResponseContent(hreq);
              
            }
            catch (WebException webex)
            {
                returnString = "-1";
                throw webex;
               
            }
            catch (Exception ex)
            {
                returnString = "-1";
                throw ex;
            }

             //
            Cursor.Current = Cursors.Default;
            return returnString;

        } 

        ///--------------------------------------------------
        /// <summary>
        /// 返回页面相应内容
        /// </summary>
        /// <param name="hreq">
        /// http链接
        /// </param>
        /// <returns>
        /// 页面相应内容,  -1 页面无相应, 0 为无数据下载,其他为页面内容
        /// </returns>
        /// ---------------------------------------------------

private string GetResponseContent(HttpWebRequest hreq)
        {
            string returnStr = "";
            //获得返回内容
            try
            {
                HttpWebResponse response = (HttpWebResponse)hreq.GetResponse();
                Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    Stream receive = response.GetResponseStream();
                    StreamReader resr = new StreamReader(receive, encode);
                    Char[] read = new Char[1024];
                    int count = resr.Read(read, 0, 1024);
                    while (count > 0)
                    {
                        String str = new String(read, 0, count);
                        returnStr += str;
                        count = resr.Read(read, 0, 1024);
                    }

                }
                else
                {
                    return returnStr;
                }
                response.Close();
            }
            catch (WebException webex)
            {
                returnStr = "-1";
                throw webex;
            }
            return returnStr;
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值