C#_Http(Get/Post)

本文展示了如何使用C#实现HTTP GET请求,并解析响应头和主体信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;

namespace CShapeTest
{
    class Start
    {
        static void Main(string[] args)
        {
            // Http Get
            string uri = "http://www.baidu.com";
            HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest;
            request.Method = "GET";
            request.ProtocolVersion = new Version(1, 1);

            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            string text = "";
            foreach (var item in response.Headers)
            {
                text += item.ToString() + ": " +
                response.GetResponseHeader(item.ToString())
                + System.Environment.NewLine;
            }
            Console.WriteLine(text);

             //如果主体信息不为空,则接收主体信息内容
            if (response.ContentLength <= 0)
            {
                return;
            }

            //接收响应主体信息
            using (Stream stream = response.GetResponseStream())
            {
                int totalLength = (int)response.ContentLength;
                int numBytesRead = 0;
                byte[] bytes = new byte[totalLength + 1024];
                //通过一个循环读取流中的数据,读取完毕,跳出循环
                while (numBytesRead < totalLength)
                {
                    int num = stream.Read(bytes, numBytesRead, 1024);  //每次希望读取1024字节
                    if (num == 0)   //说明流中数据读取完毕
                        break;
                    numBytesRead += num;
                }
                //将接收到的主体数据显示到界面
                string content = Encoding.UTF8.GetString(bytes);
                Console.WriteLine(content);
            }

            Console.ReadLine();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值