张德长

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

C# 发起网络请求

 public class CWebRequest
    {
        //从URL读取内容
        //流程:创建网络请求对象→获取响应→获取响应流→从响应留读取字符串
        //流程:WebRequest→WebResponse→Stream→StreamReader→ReadToEnd
        public string GetResponseContent(string url)
        {
            WebRequest request = WebRequest.Create(url);
            WebResponse response = request.GetResponse();
            Stream stream = response.GetResponseStream();
            StreamReader reader = new StreamReader(stream, Encoding.UTF8);
            string res = reader.ReadToEnd();
            reader.Dispose();
            stream.Dispose();
            return res;
        }

        public string GetHttpResponseContent(string url)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.ContentType = "text/html;charset=UTF-8";
            request.UserAgent = null;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream stream = response.GetResponseStream();
            StreamReader reader = new StreamReader(stream, Encoding.UTF8);
            string content = reader.ReadToEnd();
            reader.Dispose();
            stream.Dispose();
            return content;

        }
        //发起POST请求,并获取返回字符串
        //流程:创建请求→配置请求→获取请求流→Json写入请求流→获取响应→获取响应流→构建流读取器→读取相应字符串
        //流程:HttpWebRequest→(Method/ContentType)→GetRequestStream→Write→GetResponse→GetResponseStream→StreamReader→ReadToEnd
        //json转字节数组并获取长度
        public string PostJson(string url, string json)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "application/json;charset=UTF-8";
            byte[] bytes = Encoding.UTF8.GetBytes(json);
            int len = bytes.Length;
            Stream requestStream = request.GetRequestStream();
            requestStream.Write(bytes, 0, len);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream responseStream = response.GetResponseStream();
            StreamReader responseReader = new StreamReader(responseStream, Encoding.UTF8);
            string responseContent = responseReader.ReadToEnd();
            responseReader.Dispose();
            responseStream.Dispose();
            requestStream.Dispose();
            return responseContent;
        }
    }

posted on   张德长  阅读(74)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示