問題タブ [httpcontent]
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.
c# - HttpContent.ReadAsAsync はどこにありますか?
HttpClient
新しいオブジェクト (新しい Web API の一部として) を使用する Web 上の多くの例で、メソッドが必要であることがわかりますHttpContent.ReadAsAsync<T>
。ただし、MSDNはこの方法について言及しておらず、IntelliSense もそれを見つけていません。
それはどこに行きましたか、どうすれば回避できますか?
c# - WebApi コントローラーで HttpContent を読み取る
MVC webApi コントローラー アクションで PUT 要求の内容を読み取るにはどうすればよいですか。
ここで空の文字列を取得します:(
私がする必要があるのは、最初のリクエストで「どのプロパティ」が変更/送信されたかを把握することです(つまり、Contact
オブジェクトに10個のプロパティがあり、そのうちの2つだけを更新したい場合、2つのプロパティだけでオブジェクトを送信し、このようなもの:
予想される最終結果は
c# - HttpContent.ReadAsStringAsync によって要求がハングする (またはその他の奇妙な動作)
並行性の高い Web アプリケーションを構築しており、最近では非同期プログラミングを広範囲に使用し始めています (TPL とasync
/を使用await
)。
アプリが REST API (ASP.NET Web API の上に構築) を介して相互に通信する分散環境があります。ある特定のアプリでは、DelegatingHandler
呼び出し後base.SendAsync
(つまり、応答の計算後) に応答をファイルに記録します。応答の基本情報 (ステータス コード、ヘッダー、およびコンテンツ) をログに含めます。
問題は次のとおりです。コードがcontent.ReadAsStringAsync().Result
サーバーの負荷が高い状態に達すると、リクエストが IIS でハングすることがあります。実行すると、応答が返されることがありますが、IIS で応答がないかのようにハングアップするか、返されない場合もあります。
また、 を使用してコンテンツを読み取ってReadAsByteArrayAsync
から に変換しようとしましたString
が、うまくいきませんでした。
全体で async を使用するようにコードを変換すると、さらに奇妙な結果が得られます。
HttpContext.Current
への呼び出し後は null になりcontent.ReadAsStringAsync()
、その後のすべてのリクエストでも null のままです。信じられないことだとは思いますが、これが実際に起こっていることだと理解するには、3 人の同僚の存在と時間がかかりました。
これはある種の予想される動作ですか?ここで何か間違ったことをしていますか?
c# - HttpClient PostAsync の 2 番目のパラメーターに HttpContent を設定するにはどうすればよいですか?
はPostAsync
、 である必要がある別のパラメーターを取りますHttpContent
。
を設定するにはどうすればよいHttpContent
ですか? Windows Phone 8 で動作するドキュメントはどこにもありません。
もしそうならGetAsync
、それはうまくいきます!ただし、key="bla"、something="yay" の内容で POST する必要があります。
//編集
答えてくれてありがとう...これはうまくいきますが、まだいくつか不明な点があります:
私が仮定したデータ「test=something」は、ポストデータ「test」としてAPI側で取得されると思われますが、明らかにそうではありません。別の問題として、投稿データを介してオブジェクト/配列全体を投稿する必要がある場合があるため、そうするにはjsonが最適であると思います。投稿データを取得する方法について何か考えはありますか?
おそらく次のようなものです:
c# - Microsoft.Net.Http を使用してファイルをサービスに送信する
私は方法を持っています:
これはファイルを WCF サービスに送信していますが、投稿の Wireshark ログを見ると、fileStream は追加されておらず、ファイル名だけが追加されています。他に何かする必要がありますか?
ajax - Tumblr ブログのコンテンツに別のページからアクセスできるようにする
別の Web ページで作成したスクリプトを使用して、Tumblr ブログから実際のコンテンツをすべてコピーしようとしていますが、コンテンツにアクセスするのに少し問題があります。私のajax呼び出しは次のとおりです。
しかし、それはコンソールに「リソースはスクリプトとして解釈されましたが、MIME タイプ text/html で転送されました」というエラーが表示され、ここで調べてmeta
、ブログの HTML の対応するタグを に変更しました<meta http-equiv="Content-Type" content="application/javascript; charset=utf-8" />
が、成功しませんでした
私も使用してみdataType: 'html'
ました(これは私にとってより理にかなっています)が、「オリジンはAccess-Control-Allow-Originによって許可されていません」というコンソールエラーが発生しました。これも調べて、Tumblrブログにメタタグを追加しました<meta Access-Control-Allow-Origin="*" />
。しかし、再び成功しませんでした
Tumblr全体が変更を許可していないため、私のアプローチは機能しませんAccess-Control
か? もしそうなら、どうすれば問題を回避できますか? そうでない場合、私は何を間違っていますか?
主要な編集 (mikedidthis の有益なコメントに基づく)
Tubmlr API なしではこれを行うことができないようです。そのため、API キーを取得し、API が送信する json の結果にアクセスできるようになりました。コンソールで API キーを使用して jsonp オブジェクトを取得できます。現時点での私のJavaScript:
この SO 投稿は、Tubmlr ページのデータをソースから変更し、サイトに関する基本情報を見つける方法を理解するのに役立ちましたが、個々の投稿から実際のデータを取得する方法については理解できませんでした。オブジェクトを調べてみましたresults
が、投稿に関連するデータを見つけることができず、結果を jsfiddle に追加することもできませんでした。したがって、私の質問は、「このアプローチを使用して、個々の投稿からデータ (投稿に書かれたテキストなど) をコピーできますか? もしそうなら、どのように? そうでない場合は、他のどのようなアプローチを使用すればよいですか?」
c# - カスタム ヘッダーを含む任意の JSON データを REST サーバーに送信するにはどうすればよいですか?
TL;DR -- 認証ヘッダーを使用して JSON 文字列を REST ホストに送信するにはどうすればよいですか? 私は 3 つの異なるアプローチを試しましたが、匿名型で機能するアプローチが見つかりました。匿名型を使用できないのはなぜですか? "Group-Name" という変数を設定する必要がありますが、ハイフンは有効な C# 識別子ではありません。
バックグラウンド
JSON を POST する必要がありますが、本文とコンテンツ タイプを正しく取得できません
機能 #1 - 匿名型で動作します
コンテンツ タイプとデータは正しいですが、匿名タイプは使用したくありません。文字列を使いたい
出力 #1
AnonymousTypes + PostAsJsonAsync を使用すると、コンテンツ タイプとデータは正しくなりますが、匿名タイプは使用したくありません。
機能 2 - 期待どおりに動作しない
文字列を取り、それを StringContent オブジェクトに入れます。これには、コンテンツ タイプの変更という副作用があります。
出力 #2
StringContent + PostAsync を使用するとコンテンツ タイプが間違っている
機能 #3 - 期待どおりに動作しない
contentType が正しく設定されていることがわかっているのでPostAsJsonAsync
、そのメソッドを使用してみましょう。(動作しません)
出力 #3
StringContent + PostAsJsonAsync を使用すると、コンテンツ タイプは正しく、POST 本文は正しくありません
質問
私がやりたいことは、JSON を文字列として、または実行時に定義された動的オブジェクトとして、正しい HTTP コンテンツ タイプと特別な「Auth-Token」ヘッダーを付けてサーバーに送信することだけです。
servicestack などの WebAPI を使用していない場合、その他の例はクールです。
java - HTTP 接続を開いた後に content-type を特定するにはどうすればよいですか?
プログラム内で生成している URL への HTTP 接続を開いています。
ここでcase 2
、コンテンツ タイプを識別したいと思います。例えば:
http://www.google.comに接続する場合、コンテンツ タイプは Text です。
http://www.google.com/favicon.icoに接続する場合、コンテンツ タイプは Image です。
それを判断するために URL 構造を使用することはできません。例えば:
- http://www.advertising.com/favicon.icoに接続すると、応答コードは 200 ですが、コンテンツ タイプはテキストです (コンテンツ自体は「要求されたファイル favicon.ico が見つかりませんでした。」)。
InputStream
オブジェクトを使用してコンテンツを読み取る方法は知っていますが、
可能であれば、コンテンツ自体を取得することは避けたいと考えています。
コンテンツタイプを判断するのにどのように役立つかわかりません。
どんなアイデアでも大歓迎です...ありがとう。