windowsphone 网络请求方式

一般分为:httpWebRequest和HttpClient

httpWebRequest适合于处理简单的网络请求,httpclient支持更强大,适合复复杂的网络请求的封装。

 

 

WebRequest request = HttpWebRequest.Create(URL);\

 

(1)httpWebRequest get请求

request.Method = "GET";

request.Headers["Cookie"] = "name = value";

request.Credentials = new NetworkCredential("accountKey","accountkeyOrPassword");

request.BeginGetResponse(ResponseCallbackm,request);

private async void ResponseCallback(IAsyncResult result){

    HttpWebRequest httpWebRequest = (HttpWebRequest)result.AsyncState;

    WebResponse webResponse = httpWebRequest.EndGetResponse(result);

 

    //获取请求返回内容

    using(Stream stream = webResponse.GetResponseStream())

    using(StreamReader reader = new StreamReader(stream))

    {

        string content = reader.ReadToEnd();

    }

}

(2)post请求

var request = HttpWebRequest.Create(URL);

request.Method = "POST";

request.BeginGetRequestStream(ResponseStreamCallbackPost,request);

 

private async void ResponseStreamCallbackPost(IAsyncResult result){

    HttpWebRequest httpWebRequest = (HttpWebRequest)result.AsyncState;

    using(Stream stream = httpWebRequest.EndGetRequestStream(result)){

        string postString = "yourstring";

        byte[]data = Encoding.UTF8.GetBytes(postString);

        stream.write(data,0,data.Length);

    }

}

 

httpWebRequest.BeginGetResponse(ResponseCallbackPost,httpWebRequest);

private async void ResponseCallbackPost(IAsyncResult result){

    HttpWebRequest httpWebRequest = (HttpWebRequest)request.AsyncState;

    WebResponse webResponse = httpWebRequest.EndGetResponse(result);

    using(Stream stream = webResponse.GetResponseStream());

    using(StreamReader reader = new StreamReader(stream)){

        string content = reader.ReadToEnd();

    }

}

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值