#注意
※かなりにわか知識です。
#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を使って頑張って書いたソースが無になりました。