問題タブ [httpwebresponse]
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.
httpwebrequest - Httpwebrequest / Httpwebresponse - リダイレクト数
最終的なコンテンツにたどり着く前に、Web リクエストがリダイレクトされた回数を把握しようとしています。
次のようにWebリクエストを作成しています:
次の URL を見てきましたhttp://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.maximumautomaticredirections.aspx
しかし、私は制限を課したくありません。私は実際にはすべてのリダイレクトに従うことを望んでいます (実際にはすべての URL への参照は必要ありません) が、たとえば「X 回リダイレクトされました」と言っているだけです。
現在、すべての 3xx コードをキャプチャし、それぞれに対して新しいリクエストを作成する必要があると想定しているため、簡単な方法があることを願っています (そうでないことを願っています)。
c# - C# でファイルの一部 (最初の 100KB など) だけをダウンロードすることはできますか?
ファイルをダウンロードする方法は知っていますが、ファイルの最初の 100KB だけをダウンロードするにはどうすればよいですか?
c# - byte []応答を有効なXDocumentに変換するにはどうすればよいですか?
これは私が受け取る典型的な応答です。次のことを試しましたが、空白以外の文字をコンテンツに追加できないというエラーが表示されます。
httpwebrequest - HttpWebRequestで「基になる接続が閉じられました」を取得する
VB.NETで記述されたアプリケーションがあります(asp.netではなく、Windowsコンソールアプリです)。URL(htmlページ)を呼び出して、応答を文字列に戻そうとしています。応答はストレートJSONであり、htmlタグは一切ありません。で開き、{
で閉じます}
。
HttpWebRequestオブジェクトを正常に作成します。次に、を呼び出しますreq.GetResponse()
。これを行うとすぐに、私はThe underlying connection was closed: The connection was closed unexpectedly.
グーグルしてスタックオーバーフローをチェックしているというエラーを受け取り、適用されることがわかったすべてを試しました(多くは適用されないWCFサービス構成に関係しています)。
これが私のコードです:
コメントアウトされた行(コメントスタイルは間違っていますが、SOは正しく解析します)は、オンラインで見つけたものに基づいてこれまでに試したすべてのものです。それらのどれもそれを修正しませんでした。作成中のURLが正しいことを確認しました。ブラウザでまったく同じURLを呼び出すと、期待どおりの正しい応答が返されます。
私はそれをワイヤーシャークしてみました...そして実際に期待される完全なデータがシャークの出力に戻ってきて、それから数行、そして次のような赤い線が表示されます:
http > 51943 [RST] Seq=1607 Win=0 Len=0
これは.NETの前に表示される最後の行ですエラーをスローしています。
System.Net
また、SOの投稿ごとにトレース/ログをオンにしてみました。そこからの出力ファイルでは、同様に期待されるすべてのJSONデータが返されますが、戻った後、.NETトレースログに次の行がスローされます。
これを理解するために次にどこに行くべきかについてのアイデアはありますか?私たちはいくつかの環境監視センサーデバイスからこのデータを読み取っています、そして彼らは私たちに使用するためにこのURLを与えました。
これについて本当に私を混乱させて混乱させる2つのことは、 a)
ブラウザで呼び出されたときに完全に正常に動作する
b)WireSharkと.NETトレースの両方で、すべてのデータが実際に戻ってきていることを示し、フレームワークは何らかの理由でAFTERを除くすべてのデータを受信します!
WebException自体はほとんど使用されていません。InnerExceptionがnullであり、ステータスが「ConnectionClosed{8}」とだけ表示されているためです。
前もって感謝します!!!
UPDATE 08/18 1130:私も今ではなくを使用してみSystem.Net.WebRequest
ましたHttpWebRequest
。これも違いはありませんでした。
UPDATE 08/18 1222:オブジェクト[Http]Web[Request|Response]
を調光してそのメソッドを使用する代わりに、コードを切り替えてみました。ただし、これもまったく同じエラーをスローします。WebClient
DownloadString()
UPDATE 08/18 1230: -を使用してみMy.Computer.Network.DownloadFile()
ましたが、同じ接続が閉じられたというエラーも発生します。
c# - CookieContainerからIECookieストアへのCookieの書き込み
デスクトップアプリからウェブアプリのページに移動したい。「問題ありません」とおっしゃっていますが、「デフォルトのブラウザを正しいURLで起動するだけです」とのことです。ただし、WebアプリはASP.NETフォーム認証を使用しており、ユーザーはデスクトップアプリで同じ資格情報を使用して既に認証されているため、ログインページを表示したくありません。
簡単そうに聞こえますが、私がしなければならないのは、デスクトップアプリからHTTP POSTを発行することだけです。これにより、Webアプリのログインページからのポストバックが偽造されます。次に、Webアプリは認証チケットとセッション状態のCookieを設定し、それらを私に返します。私はそれらをIECookieストアに保存します。次に、目的のページに移動すると、Webアプリはそれがすでに認証されていると見なします。
HTTP POSTを構築して送信し、適切なCookieを含む有効な応答を取得する実用的なコードがあります。ただし、IEのCookieストアに書き込む方法がわかりません。誰かが私を正しい方向に向けることができますか?
サンプルコード:
asp.net - asp.netのリモートURLのgetリクエストからヘッダー情報を抽出しますか?
リモート URL で get 要求を実行し、返されたヘッダーを抽出したいと考えています。
助けてくれてありがとう!
c# - HttpWebRequest IO/帯域幅使用量 C#
HttpWebRequest (および Response) によって送受信されるデータの量を測定しようとしています。
私が知る限り、リクエストとレスポンスのコンテンツの長さ、つまりヘッダーではなくボディのみを知ることができます。
全長の出し方わかる人いますか? ヘッダーとボディを合計するか、それともスレッドまたはプロセスからすべてのネットワーク IO を測定する手段として使用するか?
c# - HttpWebResponse、およびチャンクされた http. 1 つのチャンクを読み取る方法は?
クライアントにストリーミングしたいリモートサーバーにバイナリファイルがあります。GET 要求を発行すると、応答は HTTP ヘッダー + バイナリ ファイルをチャンク単位で含む本体です。問題は、各チャンクに、必要なメタデータとバイナリ データが含まれていることです。
C# を使用して HTTP ストリームから一度に 1 つのチャンクだけを読み取るにはどうすればよいですか?
c# - C# HttpWebResponse コメットの問題
HttpWebRequest および HttpWebResponse との永続的な接続をどのように読み取るのか疑問に思っています。問題は、GetResponseStream() 関数がサーバー接続が閉じられるのを待ってから戻ることにあるようです。
彗星のつながりを読み取る別の簡単な方法はありますか? 動かない例。
c# - HttpWebRequest の初期化中 - 応答が受信されませんでした
私は現在、SHOUTcast ストリームを取得する必要がある Windows Phone 7 用のアプリケーションの実装に取り組んでいます (この質問に触発されました)。ストリームの場所は、IP アドレスとポートで表されます。
SHOUTcast ストリーム URL の例を次に示します: http://78.159.104.183:80
ストリームからデータを取得するためにHttpWebRequestを作成しようとしています:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://78.159.104.183:80")
;
リクエストが初期化されたら、非同期コールバック経由でレスポンスを取得しようとしています:
GetShoutAsync は次のようになります。
プロジェクトをビルドして実行すると、リクエストが初期化されるポイントに到達しますが、コールバックは呼び出されません。
興味深いことに気付きました - SHOUTcast は、ユーザーがストリーム URL に移動しようとすると、サーバーがユーザー エージェントを検出し、それが Web ブラウザーの場合、アプリケーション/オクテットを渡す代わりに HTML ページを表示するだけの手法を実装しています。 -ストリームコンテンツ。
ストリーム URL の末尾にスラッシュとセミコロンを使用すると、ストリームを直接受信できます: http://78.159.104.183:80/;
ただし、私のアプリケーションでは、応答を取得できません。コールバックに到達しないようです。ユーザー エージェントを HttpWebRequest に直接渡して偽装してみました。
これは、単純なストリーム URL (末尾にセミコロンがない) で HTML コンテンツを取得するために機能しますが、バイナリ ストリームを取得できません。
このようなことに遭遇したことのある人、または何が原因か知っている人はいますか?