問題タブ [httpwebrequest]
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.
iphone - iPhoneでHTTP通信を使用するには?
HTTP を使用してサーバーに接続し、サーバーに文字列を送信して、サーバーから応答文字列を受信したいと考えています。URLでサーバーに接続し、サーバーからメッセージを送受信する方法についてのアイデアはありますか?
c# - C# で HttpWebRequest を介してダイジェスト認証を実装する
ダイジェスト http 認証を使用するスクレイピング Web サイトをスクリーニングする方法を知っている人はいますか? 私は次のようなコードを使用します:
サイトのメインページにはアクセスできますが、(同じ認証情報で別のリクエストを使用して) 他のページに移動しようとすると、「HTTP/1.1 400 Bad Request」エラーが発生します。
Fiddler を使用して、C# アプリケーションのリクエストと Mozilla Firefox のリクエストを比較しました。
私がアクセスしようとしている 2 つの URL は 次のとおり です。
私の C# アプリの 2 つの要求 () は次のとおりです。
そして、それが Firefox がサーバーに送信するものです。
したがって、私のアプリでは「ノンス」フィールドに異なる値がありますが、Firefox ではこのフィールドは同じです。一方、Firefoxがこのフィールドをインクリメントしている間、「nc」フィールドには同じ値があります。
また、アプリが Fiddler のサイト ページにアクセスしようとすると、常に "HTTP/1.1 401 Authorization Required" という応答が返されるのに対し、Firefox は 1 回しか承認されないことがわかります。request.PreAuthenticate = true; を設定しようとしました。でも効果はないようです…
私の質問は、C# を使用してダイジェスト認証を適切に実装する方法ですか? 標準的な方法はありますか、それともゼロから行う必要がありますか? 前もって感謝します。
c# - HttpWebRequest が返されない、接続が閉じている
別のサーバー上の Web サービスをポーリングしている Web アプリケーションがあります。サーバーは同じネットワーク上にあり、ポート 8080 で実行されている内部 IP によって参照されます。
15 秒ごとにリクエストが送信され、ジョブ情報を含む xml レスポンスを受け取ります。95% の場合、これはうまく機能しますが、サーバーへのリクエストがランダムに null になり、「リモート ホストによって強制的に閉じられたレスポンス」が報告されます。
この問題を調査したところ、KeepAlive = false を設定した人がいます。これで問題は解決しませんでした。Web サーバーは .NET 3.5 SP1 を実行しています。
応答への呼び出し:
そのためのメソッドは GET です。タイムアウトを変更してみましたが、デフォルトはこれを考慮に入れるのに十分な大きさです。
私たちが実行するもう 1 つの要求は、データをサーバーに投稿するための POST であり、同じ問題がランダムに発生しています。これに影響を与えるファイアウォールはなく、ウイルス スキャナーは除外しました。これを解決するのに役立つアイデアは大歓迎です!
c# - POSTリクエストの送信:System.Net.WebException
このメソッドを使用してPOSTリクエストを送信するのはこれが初めてではなく、問題は発生しませんでした。
request.GetRequestStream()でSystem.Net.WebExceptionが発生します:基になる接続が閉じられました:送信時に予期しないエラーが発生しました。
さらに興味深いことに、一部のマシンでは完全に機能しますが、私のマシン(Windows 7 Beta)と本番サーバー(Windows Server 2008)では機能しません。詳しくは:
動作-WindowsXp - .NET2.0
動作-WindowsXp -
.NET3.5動作-WindowsServer2003-.NET3.0
動作しない-WindowsVista-.NET3.5動作しない-WindowsServer2008-
.NET3.5動作しないt work-Windows 7 Beta-.NET 3.5 SP1
試した:
- ここからたくさんのもの、何も助けにはならなかった。
- WebClientを使用しても、何も変更されていません。
- これらのオプションを微調整しましたが、顕著な違いはありませんでした。
- WireSharkを試しました。非常に優れたツールです。
[解決しました。ちょっと]
言及するのを忘れましたが、Uriはhttpsでした... httpを試してみましたが、うまくいきました。信じられない、早くはやらなかった…
それでも、誰かがこの状況全体に光を当ててくれたら幸いです。
c# - POSTHttpWebRequestへのリダイレクト
HttpWebRequestを使用してデータを外部URLにPOSTしようとしていますが、データをPOSTしたばかりの外部URLにユーザーをリダイレクトする必要があります。これは最初に達成できますか?
encoding - HttpWebRequest: 正しいエンコーディングで応答を受け取る
現在、次のコードを使用して HTML ページをダウンロードしています。
これはほとんどのページでうまく機能しますが、一部のページ (例: www.gap.com) では、応答が正しくエンコードされていません。
たとえば、gap.com では、「'」が「?」として表示されます。
google.cn を読み込もうとするとどうなるかは言うまでもありません...
.Netにこれを正しくエンコードさせるために、ここで何が欠けていますか?
私の最悪の恐怖は、エンコーディングを指定した HTML 内のメタ タグを実際に読み取ってから、ストリーム全体を再読み取り (再エンコード?) する必要があることです。
どんなポインタでも大歓迎です。
アップデート:
John Saunders の返信のおかげで、私は少し近づいています。HttpWebResponse.ContentEncoding プロパティは常に空になるようです。ただし、HttpWebResponse.CharacterSet は便利なようで、このコードを使用すると、次のようになります。
これで、Google.cn はすべての漢字で完璧に機能します。
しかし、Gap.Com はまだ間違っています。
Gap.com の場合、HttpWebResponse.CharacterSet は ISO-8859-1 であり、GetEncoding を介して取得しているエンコーディングは {System.Text.Latin1Encoding} であり、ボディ名に「ISO-8859-1」と表示され、さらに Content- 「charset=ISO-8859-1」を指定したHTMLにMETAタグを打ち込みます。
私はまだ何か間違ったことをしていますか?
それとも GAP が何か間違ったことをしているのですか?
c# - C# での HttpWebRequest とフォーム認証
私はシステム担当者で、現在パートタイムの Web 開発プロジェクトを行っているため、まったくの初心者です。www.portapower.com の http クライアントを作成しようとしています。
ウェブサイトに投稿された特定のアイテムが対象となり、特定の要件に一致する場合はメッセージが出力されます。
このページにアクセスしようとすると:
http://www.portapower.com/getbainfo.php?fclasscode=1&code=CB1831B.40H&fbrand=QUNFUg==
Web サイトからデフォルトの登録ページにリダイレクトされます。
http://www.portapower.com/defaregit.php
ここに私がコーディングしたもののスニペットがあります:
ユーザー名とパスワードはありますが、ブラウザから使用すると正常に動作します。これが認証済みページにアクセスする正しい方法かどうか教えてください。
c# - C# Link Analyzer で不正な要求エラーが発生しますか?
URL を受け取り、リダイレクト先の最初の場所を吐き出すかなり単純なプログラムがあります。とにかく、私はいくつかのリンクでそれをテストしており、いくつかの URL で 400 エラーが発生することに気付きました。そのような URL をブラウザに貼り付けてテストしてみましたが、うまくいきました。