使用 C# 使用 REST API

本文关键字:使用 API REST | 更新日期: 2023-09-27 18:33:12

我对C#很陌生,想学习如何发出HTTP请求。我想从非常简单开始,尽管这目前正在逃避我。我只想执行一个 GET on,比如说,google.com。我创建了一个命令行应用程序,并有这段代码。完全不确定需要哪些用途。

我通过写入控制台对其进行了测试,但它没有通过响应。有人可以告诉我吗?我希望做一些简单的 curl 类型的东西来测试现有的 API。谢谢你的帮助。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;
namespace APItest
{
    class testClass
    {
        static void Main(string[] args)
        {
            string url = "http://www.google.com";
            Console.WriteLine(url);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Console.ReadKey();
        }
    }
}

使用 C# 使用 REST API

我会考虑使用 HttpClient 来代替,它是为了在 .net 4 中更轻松地调用 rest API。它还支持asyncawait

你可以这样调用它(使用异步):

async Task<HttpResponseMessage> GetGoogle() {
    HttpClient client = new HttpClient();
    Uri uri = new Uri("http://www.google.com");
    var result = await client.GetAsync(uri);
    return result;
}

我不建议使用 HTTPWebRequest/HTTPWebResponse 在 .Net 中使用 Web 服务。 RestSharp更容易使用。

您要查找的是WebClient类。它有一套丰富的方法来执行大多数与HTTP相关的任务,链接到下面的完整文档

网络客户端 MSDN

您需要阅读响应:

var stream = response.GetResponseStream();

然后,您拥有您的流并用它做您需要的事情。 GetResponseStream