zoukankan      html  css  js  c++  java
  • C#后台进行Http请求

    1.Get请求

      新建一个webform项目,添加一个按钮,定义click事件

            protected void Button1_Click(object sender, EventArgs e)
            {
                string url = "https://www.baidu.com/";
                var request = HttpWebRequest.Create(url);
                request.Method = "GET";
                request.BeginGetResponse(ResponseCallBack,request);//发起异步响应式请求,提供一个回调函数和实例本身
            }
            private 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();//这里就是百度对应的页面Html代码
                    }
                }
            }

    2.Post请求

       比起Get请求,多了3、4、5三步,

          protected void Button2_Click(object sender, EventArgs e)
            {
                string url = "https://www.cnblogs.com/";
                var request = HttpWebRequest.Create(url);
                request.Method = "POST";
                request.BeginGetRequestStream(RequestStreamCallBack,request);//发起获取数据流请求
            }
            private void RequestStreamCallBack(IAsyncResult result)//比Get多了个载入参数的环节
            {
                HttpWebRequest httpWebRequest=(HttpWebRequest)result.AsyncState;//获取请求流数据
                Stream stream = httpWebRequest.EndGetRequestStream(result);//结束异步的数据流请求
                string param = "postdata";  //定义Post参数
                byte[] data = Encoding.UTF8.GetBytes(param);//把参数转化为字节
                stream.Write(data, 0, data.Length);//写入数据
                stream.Close();
                httpWebRequest.BeginGetResponse(ResponseCallBack, httpWebRequest);
            }
            private void ResponseCallBack(IAsyncResult result)//回调函数,和GET一样
            {
                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();
                    }
                }
            }
  • 相关阅读:
    iOS 进阶 第一天(0323)
    iOS 基础 第五天(0811)
    iOS 基础 第四天(0809)
    iOS 基础 第三天(0808)
    iOS 基础 第三天(0807)
    iOS 基础 第二天(0805)
    iOS 基础 第一天(0804)
    Mac 启用http-dav功能(WebDAV服务器)
    【转】phpmyadmin万能密码漏洞
    关于python文件操作 (转载)
  • 原文地址:https://www.cnblogs.com/wskxy/p/9366842.html
Copyright © 2011-2022 走看看