zoukankan      html  css  js  c++  java
  • C#使用HttpWebRequest发送数据和使用HttpWebResponse接收数据的一个简单示例

    新建一个.NET Core控制台项目,代码如下所示:

    using System;
    using System.Text;
    using System.Net;
    using System.Collections.Generic;
    
    namespace NetCoreWebRequest
    {
        class Program
        {
            static void Main(string[] args)
            {
                HttpWebRequest httpWebRequest = WebRequest.Create("http://www.baidu.com") as HttpWebRequest;
                
                httpWebRequest.Method = "POST";
    
                using (var requestStream = httpWebRequest.GetRequestStream())
                {
                    byte[] data = Encoding.UTF8.GetBytes("Hello");
    
                    requestStream.Write(data, 0, data.Length);
                    requestStream.Flush();
                }
    
                using (HttpWebResponse response = httpWebRequest.GetResponse() as HttpWebResponse)
                {
                    using (var responseStream = response.GetResponseStream())
                    {
                        byte[] readBuffer = new byte[1000];
                        List<byte> allData = new List<byte>();
                        int readBytes;
    
                        do
                        {
                            readBytes = responseStream.Read(readBuffer, 0, readBuffer.Length);
    
                            for (var i = 0; i < readBytes; i++)
                            {
                                allData.Add(readBuffer[i]);
                            }
    
                        } while (readBytes > 0);//如果readBytes为0表示HttpWebResponse中的所有数据已经被读取完毕
    
                        string message = Encoding.UTF8.GetString(allData.ToArray());
                        Console.WriteLine(message);
                    }
                }
    
                Console.WriteLine("Press key to end...");
                Console.ReadKey();
            }
        }
    }

    注意本文阐述的重点是,上面代码中,如果responseStream.Read(readBuffer, 0, readBuffer.Length)返回的值readBytes为 0了,表示HttpWebResponse中的所有数据已经被读取完毕了。

  • 相关阅读:
    noip2007 tg day1t1 统计数字
    洛谷1123 取数游戏
    洛谷1123 取数游戏
    素数筛
    bzoj 1297 [SCOI2009]迷路
    bzoj 2115 [Wc2011] Xor——路径和环的转化
    poj 2154 Color——带优化的置换
    bzoj 1407 [Noi2002]Savage
    poj 1286 Necklace of Beads
    bzoj 4031 [HEOI2015]小Z的房间
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/11350397.html
Copyright © 2011-2022 走看看