web-dev-qa-db-ja.com

C#REST APIクライアント

PHP RESTサーバー上にあるAPI。これで、WPF C#アプリケーションを介してこれへのクライアント側接続を作成しようとしています。 。 this が見つかりましたが、私のAPIではHTTPヘッダーを介してAPIキーを送信する必要があり、これを行うことができないことがわかります。PHP REST CURLを使用するクライアントであり、非常に簡単であり、C#に組み込まれ、RESTサービスへの要求を処理するものがあることを期待していました。

誰かが私が彼らが見たチュートリアルの方向、またはどこかの図書館に私を向けることができたら、私は感謝するでしょう。

ありがとう。

26
Joel Kennedy

RESTSharp を見てください。非常に強力で使いやすい。

すべてのプラットフォームでも動作:Web、Windows、WCF、Monotouch、Windows Phone

49
Chris Kooken

HttpWebRequest または WebClient を使用して、Webリクエストを行うことができますPHP client ...

JSONベースの応答を処理する必要がある場合、JSON.Netは素晴らしいライブラリです。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://a/rest/uri");
request.Method = "POST";
request.Headers.Add("Authorization: OAuth " + accessToken);
string postData = string.Format("param1=something&param2=something_else");
byte[] data = Encoding.UTF8.GetBytes(postData);

request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "application/json";
request.ContentLength = data.Length;

using (Stream requestStream = request.GetRequestStream())
{
    requestStream.Write(data, 0, data.Length);
}

try
{
    using(WebResponse response = request.GetResponse())
    {
        // Do something with response
    }
}
catch (WebException ex)
{
    // Handle error
}
13
Neil M

また、.NET 4.5では HttpClient を使用できます。
。NET 4.0を使用している場合、HttpClient APIは Microsoft.Net.Http nugetで利用できます。

6
Mike

Hammock.NET @ http://hammock.codeplex.com/ をチェックアウトすることもできます。一緒に仕事をするのは喜びです。おそらくすべての場合にWCFは必要ありません。

5
Wyatt Barnett

PHP REST APIバックエンドがSwaggerで文書化されている場合、たとえば swagger-php を使用すると、 swagger -codegen C#、Java、PHP、RubyでAPIクライアントを生成するには、Pythonなど。PHPバックエンドを記述するSwagger仕様を使用します。

1
William Cheng