問題タブ [dotnet-httpclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
8529 参照

.net - .Net 4.0 HttpClientの使用法?

.Net 4.0のimで、HttpClientを使用しようとしています。4.0ではサポートされなくなったが、引き続き使用できるという記事をいくつか読みました。アセンブリを含めましたSystem.Net.Http;が、必要なパラメータをに提供できませんHttpClient。どうすればこれを修正できるでしょうか?

エラーが発生している場所を太字で示しています。

0 投票する
1 に答える
1707 参照

c# - HttpClientを使用して、RSSフィードをきれいに読み取って逆シリアル化するにはどうすればよいですか?

NuGetで利用できるHttpClientを使用しています。

これは私が始めたコードです:

問題:

  1. RSS.FeedDataContract/DataMember属性で明示的に定義して装飾する必要がありました。RSSクラスを組み込む必要があるようです。そうですか?(たぶん私はそれについて知らないだけです)

  2. これは、RSSフィードの処理命令について不平を言う例外で失敗します。それは実際には私が気にしないスタイルシートです。データが欲しいだけです。

例外は次のとおりです。

例外:System.AggregateException:1つ以上のエラーが発生しました。---> System.InvalidOperationException:XMLドキュメント(1、2)にエラーがあります。---> System.Xml.XmlException:処理命令(XML宣言以外)およびDTDはサポートされていません。行1、位置2。

フィードは次のようになります。

これを行うためのより良い方法に関するヒントはありますか?HttpClientを使用する!!

ドキュメントが少し薄いことがわかりました。

0 投票する
1 に答える
5588 参照

c# - C#MetroHttpClientがPostAsyncでCookieを受信して​​いません

.NET 4.5 HttpClientを使用してWebサイトにログインし、Cookieを受信しようとしています。試してみる直前に中断してCookieContainerを確認しましたが、Cookieが含まれていません。ただし、応答は200ステータスを返します。

これが機能しない理由がわかりません。.NET4スタイルを試してみると問題なく動作します。

0 投票する
2 に答える
3685 参照

http - text/html vs application/x-www-form-urlencoded および FormUrlEncodedMediaTypeFormatter

POST 要求の場合、text/html形式の応答が返され、応答本文には以下の情報が含まれていました。

oauth_token=XXXXXXXXXXXXXXXXXXXXXXXXX&oauth_token_secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&oauth_callback_confirmed=true

私はこのリクエストを実行し、 asSystem.Net.Http.HttpClientで応答を読み取ることができると思いましたが、デフォルトでapplication/x-www-form-urlencoded形式のみをサポートしていることが判明しました。そのため、次のコードでこれを回避しました。FormUrlEncodedMediaTypeFormatterFormDataCollectionFormUrlEncodedMediaTypeFormatter

ここでの質問は次のとおりです。

応答プロバイダー (この場合は Twitter) は、この応答をtext/htmlとして送信することで間違っていますか、それともデフォルトでtext/htmlタイプをFormUrlEncodedMediaTypeFormatterサポートする必要がありますか?

0 投票する
2 に答える
48494 参照

c# - WebApiでの応答のためのDelegatingHandler

私は現在DelegatingHandler、署名の検証などのために、送信前に要求を処理するためにいくつかの委任ハンドラー(から派生したクラス)を使用しています。すべての呼び出しで署名の検証を複製する必要がないため、これはすべて非常に便利です(例えば)。

同じWebリクエストからの応答にも同じ原則を使用したいと思います。応答のDelegatingHandlerに似たものはありますか?ある意味で、メソッドに戻る前に応答をキャッチする方法はありますか?

追加情報:私はを使用してWebAPIを呼び出していますHttpClient.PutAsync(...)

0 投票する
3 に答える
191847 参照

c# - HttpClient への HTTP ヘッダーの追加

Web サービスにリクエストを送信する前に、HttpClient に http ヘッダーを追加する必要があります。(将来のすべてのリクエストに対する HttpClient ではなく) 個々のリクエストに対してそれを行うにはどうすればよいですか? これが可能かどうかはわかりません。

0 投票する
3 に答える
5108 参照

c# - HttpResponseMessage / HttpRequestMessage (System.Net.Http、WebAPI) で送受信される Raw ヘッダーを表示する

WebAPI の HttpResponseMessage / HttpRequestMessage 型で実際に送受信される HTTP ヘッダーの生のリストを視覚的に確認することは非常に有益です。つまり、各ヘッダーが新しい行にあり、生成または受信されたものとまったく同じ、単純な古い文字列です。

しかし残念なことに、これらのタイプのいずれも、実際に何が生成されるかを確認できるようには見えません。代わりに、プロパティがあちこちに散らばっています。生の HttpResponseMessage / HttpRequestMessage 型自体の一部、response/request.Content.Headers の一部 (この 2 つは繰り返されません。後者は、プロパティとしてまだカバーされていないもの、通常はカスタム ヘッダー用です)、...そしておそらく Cookieどこかに独自のヘッダーの隠し場所があります。また、これらのヘッダー コレクションのリストを視覚的に確認するのも面倒です。つまり、そのようなコレクションごとに一連のコードを反復処理することになり、さらに混乱します。

しかし、実際の応答/送受信されるリクエストでは、そのような区分はなく、すべての Http ヘッダーを簡単に確認できます。それで、私はどこかでそれを見逃していますか?これらのどこかに、生のヘッダー文字列を単に返すシンプルで直感的なプロパティが実際にありますか? 確かに、応答はすでにヘッダーを受け取り、それらを解析しただけです...その生の文字列はどこかに隠されていますか?

(ところで、私は Fiddler について知っています...そしてそれは完全に満足のいくものではありません。Http ヘッダーの低レベルの混乱に対処しなければならない場合、私が使用しているプログラム型でそれらを表示できることは理にかなっていますしかし、さらに悪いことに、(Win8 上で) Fiddler を使用して localhost を動作させることはまだできません。 )

0 投票する
3 に答える
9345 参照

c# - HttpClient は Web API から返された例外を報告しません

HttpClientMVC 4 Web API を呼び出すために使用しています。私の Web API 呼び出しでは、ドメイン オブジェクトが返されます。何か問題が発生した場合はHttpResponseException、カスタマイズされたメッセージとともに がサーバーにスローされます。

IE F12 を使用して、応答本文でカスタマイズされたエラー メッセージを確認できます。ただし、を使用して呼び出すとHttpClient、カスタマイズされたエラー メッセージは表示されず、http コードのみが表示されます。「ReasonPhrase」は、404 の場合は常に「見つかりません」、500 コードの場合は「Internal Server Error」です。

何か案は?通常の戻り値の型をドメイン オブジェクトのままにして、Web API からカスタム エラー メッセージを返すにはどうすればよいですか?

0 投票する
2 に答える
2207 参照

unit-testing - 承認フィルターを持つ WebAPI アクションのテスト

[Authorize] 属性を追加した Web API があります。これは、以前に行った単体テストが承認されていないために失敗したことを意味します。以下は、基本的なテストと初期化メソッドのサンプルです。

私が疑問に思っているのは、テストをログインさせて認証フィルターを通過させる方法があるかどうか、または HttpClient 要求と共に ASPXAUTH Cookie として渡す方法があるかどうかです。または、私が考えていなかった承認を渡す別の方法はありますか?

私が試したものは何も機能していないようで、どこでも役立つ情報を見つけるのに苦労しています.

前もって感謝します。

0 投票する
1 に答える
2237 参照

asp.net-web-api - HttpClient reading custom HttpContent type

On the server I'm forcing compression with a custom message handler. The handler checks the Accept-Encoding header and if it is supported (e.g. GZip) will swap out the HttpResponseMessage.Content with an instance of CompressedContent. This simply compresses the original content like so:

On the client, we can achieve the decompression by checking the Content-Encoding header and using another HttpContent type to perform the decompression:

The part I am unsure of is whether we should be using a custom HttpContent type to do the decompression. On the server it makes sense to do this since we don't really have other way of touching the response stream. On the client however, this could be done by decompressing the standard StreamContent directly or even with a custom HttpClient implementation.