使用C#使用REST API

时间:2013-09-30 01:38:19

标签: c# http rest

我是C#的新手,想学习如何发出HTTP请求。我想开始非常简单,虽然目前正在逃避我。我想在google.com上执行GET。我创建了一个命令行应用程序,并拥有此代码。根本不确定需要哪些使用。

我通过写入控制台来测试它,但它没有通过响应。有人可以告诉我吗?我正在寻找一些简单的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();
        }
    }
}

4 个答案:

答案 0 :(得分:4)

我会考虑使用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;
}

答案 1 :(得分:2)

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

答案 2 :(得分:1)

您正在寻找的是WebClient课程。它有很多方法可以完成大多数与HTTP相关的任务,链接到下面的完整文档

WebClient MSDN

答案 3 :(得分:0)

您需要阅读回复:

var stream = response.GetResponseStream();

Thenyou拥有你的流,并用它做你需要的。 GetResponseStream