24
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RestSharpの基本的な使い方

Last updated at Posted at 2018-01-23

#注意
※かなりにわか知識です。

#RestSharpとは?
簡単にウェブリクエストとかができるクライアントライブラリ
.NETだとNugetで簡単にインストールできる。
Nugetページはこちら

.NET3.5以前だとHttpRequest
.NET4.0だとWebClient
.NET4.5以降だとHttpClient
とかを使ってやることができる。

##WebClientやHttpClientだと何がダメ?
上記クラスはMicrosoft純正なので安定感がある?が

  • WebClientは1リクエストで複数ファイル送れない
    • 普通に致命的
  • HttpClient
    • マルチパートファイルがリクエストの際にエンコードされてしまう
    • ※回避方法はこちらで書きました。

#簡単な例

Program.cs
// クライアント&リクエストの作成
var client = new RestClient();
var request = new RestRequest();

// URLの設定
client.BaseUrl = new Uri("リクエスト先のURLをここに指定する");

// メソッド、パラメータの指定
request.Method = Method.POST;
request.AddParameter("パラメータ名", "パラメータの値", ParameterType.GetOrPost);
// ParameterTypeはいろいろあるが、GETとPOSTで特に指定なく
// stringパラメータを設定する場合は、GetOrPost

// ファイルをアップロードする場合
request.AddFile("ファイルパラメータ名", "ファイルパス", "ContentType");
// ContentTypeは拡張子などから適切なものを選ぶ

// リクエスト送信
var response = client.Execute(request);

// レスポンスがファイルなどで、復元したい場合
File.WriteAllBytes("出力先のパス", response.RawBytes);

// レスポンスのステータスコードが欲しいなどの場合
bool isOK = response.StatusCode == HttpStatusCode.OK;
// ステータスコード以外にも様々な情報がresponseに入っているので適宜


#まとめ
WebClientやHttpClientを使って頑張って書いたソースが無になりました。

24
32
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?