[解決済み] C#でcURLを呼び出す
2022-02-01 07:36:06
質問
次のようなものを作りたい。
curl
を C# コンソールアプリケーションで呼び出します。
curl -d "text=This is a block of text" \
http://api.repustate.com/v2/demokey/score.json
投稿された質問のようにしようとしたのですが ここで しかし、プロパティを正しく埋めることができません。
また、通常のHTTPリクエストに変換してみました。
http://api.repustate.com/v2/demokey/score.json?text="This%20is%20a%20block%20of%20text"
cURLの呼び出しをHTTPリクエストに変換することはできますか? もし可能なら、どのように? そうでない場合、C#コンソールアプリケーションから上記のcURL呼び出しを適切に行うにはどうしたらよいでしょうか?
どのように解決するのですか?
さて、あなたは cURL を直接使用するのではなく、以下のオプションのいずれかを使用します。
-
HttpWebRequest
/HttpWebResponse
-
WebClient
-
HttpClient
(.NET 4.5 以降で使用可能)
を使うことを強くお勧めします。
HttpClient
クラスは、前の2つよりも(使い勝手の面で)ずっと良くなるように設計されています。
あなたの場合、こうなりますね。
using System.Net.Http;
var client = new HttpClient();
// Create the HttpContent for the form to be posted.
var requestContent = new FormUrlEncodedContent(new [] {
new KeyValuePair<string, string>("text", "This is a block of text"),
});
// Get the response.
HttpResponseMessage response = await client.PostAsync(
"http://api.repustate.com/v2/demokey/score.json",
requestContent);
// Get the response content.
HttpContent responseContent = response.Content;
// Get the stream of the content.
using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
{
// Write the output.
Console.WriteLine(await reader.ReadToEndAsync());
}
また
HttpClient
クラスは、さまざまなレスポンスタイプを処理するためのよりよいサポートと、 前述のオプションよりも優れた非同期操作 (とそのキャンセル) のサポートを持っています。
関連
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] cURL呼び出しによるHTTPリクエストを使用してヘッダーを送信する方法は?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] コンストラクタ内の仮想メンバー呼び出し
-
[解決済み] リフレクションを使ってジェネリックメソッドを呼び出すにはどうしたらいいですか?
-
[解決済み] あるコンストラクタを別のコンストラクタから呼び出す
-
[解決済み] PHP、cURL、HTTP POSTの例?
-
[解決済み] cURLでPUTリクエストを行うには?
-
[解決済み] POSTMANリクエストをCurlに変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで