問題タブ [system.net.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.
c# - C#/Silverlight で SOAP エンベロープを Web リクエストに挿入する
Insert Soap Envelope Into WebRequest を保存しようとしているので、メソッドを作成しました
ただし、次の理由で問題があります。
'System.Net.HttpWebRequest' には 'GetRequestStream' の定義が含まれておらず、タイプ 'System.Net.HttpWebRequest' の最初の引数を受け入れる拡張メソッド 'GetRequestStream' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか? ?)
c# - HttpWebResponseの読み取り時に「ストリームが読み取れません」を取得する
次のようにリクエストがあるデータを「スクリーンスクレイピング」しようとしています(フィドラーから)
(コンテンツは私の資格情報です) - このヘッダーは、ブラウザーで Web ページを手動で表示して追跡した要求と一致します。
これを HttpWebRequest.GetResponse() を使用して送信すると、応答が返されます
これは(再び)ブラウザを使用して取得したものと一致します。フィドラーを使用すると、17k のデータ (html) が表示されます。
「新しい StreamReader」行で、「ストリームは読み取り不能です」という例外が発生します。デバッガーは、ストリームが読み取り可能でも書き込み可能でもないことを示しています。これは私が読んだ 2 番目のページです (最初のページは、ログイン ページを取得するためのメイン URL への単純な要求です)。これは、同じコードを使用して正常に機能します。使用後、すべてのストリームとリクエストはクローズされました。
Google は、ページ エラー (いいえ、ステータスは 200) を示唆している、または既にデータを読み取っています (いいえ、コードはここにまっすぐ進みます) スレッドをまったく使用していないので、それは問題ではありません。エンコーディングを変更してみました (gzip を要求すると、期待どおりに小さいペイロードが得られますが、まだ読み取ることができません) win7 x64 で c#.net 4.5.2 を使用しています
誰かが私が間違っていることを知っていますか?
c# - Windows 2003 サーバー: 要求は中止されました。SSL/TLS セキュア チャネルを作成できませんでした
System.Net.HttpWebRequest (C# .Net 3.5) を使用してパブリック API を呼び出そうとしています。これは、証明書を使用してデータを認証および暗号化します。Windows 8.1 システムから API を呼び出すと、API 呼び出しが正常に行われていることがわかります。しかし、Windows 2003 サーバーから API を呼び出すと、以下のエラーで失敗します。
要求は中止されました: SSL/TLS セキュア チャネルを作成できませんでした。
必要な P12 ファイルと .cert (認証局) が両方のシステムに適切にインストールされています。パブリック API は TLS1.1+ プロトコルをサポートしているようです (完全にはわかりませんが、推測では、既に API サポート チームに同じことを確認するよう依頼しています)。Windows 2003 サーバーは SSLv3 または TLS1.0 のみをサポートしています。これは問題のようです。残念ながら、サーバーをアップグレードするオプションはしばらくありません。また、Net 3.5 で構築されたアプリケーションを備えたシステムに .Net 3.5 しかインストールされていません。
これを念頭に置いて、Windows Server 2003 でこの問題の根本原因を検証する方法はありますか、またはプロトコルを変更してソース コードで TLS1.1+ をサポートする方法はありますか?
.Net 4.0 には SecurityProtocol を TLS11 または TLS12 に変更するオプションがありますが、アプリケーション (アプリケーション スイートの一部) を .Net 4.0 にアップグレードできないため、それは難しいようです。
あなたの助けと時間を感謝します。ありがとう。
c# - Windows Phone 8.1 の Microsoft Translator API で System.Net.WebException が発生する
Microsoft Translator API を使用する Windows Phone 8.1 アプリを開発しており、このチュートリアルに従ってアプリを開発しています。clientID
とclientSecret
文字列を取得し、次のように割り当てました。
注: System.Net.HttpUtility.UrlEncode()
Windows Phone 8.1 は利用できないため、頼らざるをえませんでしたSystem.Net.WebUtility.UrlEncode(clientSecret)
。
ただし、ハンドルされない例外が呼び出されます
System.Net.WebException: リモート サーバーがエラーを返しました: (400) 要求が正しくありません。
この時点で、HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(ar);
誰かがこの問題を解決する方法を教えていただければ幸いです。ありがとうございました。
c# - avito.ru への HttpWebRequest -> エラー
これらの追加から HTML を取得する必要があります: https://www.avito.ru/moskva/kvartiry?user=1
次のコードがあります。
今日まで問題なく動作していました。どうやら彼らは Web サイトで何かを変更したようで、コードの最後の行で次のようなエラーがスローされます。
System.Net.WebException: ベース接続が閉じられました: 転送時に予期しないエラーが発生しました。---> System.IO.IOException: 予期しないパケット形式による接続エラー。
問題は、上部のリンクからまだ良い反応があるということです。
しかし、 https://www.avito.ru/moskva/kvartiry/2-k_kvartira_54_m_1617_et._555913941のようなものからの応答で例外をスローします
- ブラウザのリクエストは、必要に応じて応答されます。CookieとJSを無効にしても。
何か案は?
ps。エラー メッセージは、翻訳されているため不正確な場合があります。文法の言い訳..
c# - HttpWebRequest は新しい接続を強制します
制限付き転送サーバーから複数のスレッドを使用して大きなファイルをダウンロードしたいHttpWebRequest.AddRange(int, int)
. 問題は、おそらく最初のスレッドの接続を再利用したいため、1 つを除くすべてのスレッドが GetResponse() でブロックされることです。リクエストの KeepAlive プロパティを false に設定し、同時接続の最大制限を増やしましたServicePointManager.DefaultConnectionLimit = 1000;
面白いことに、うまくいくこともあります。ほとんどの場合、2 つのスレッドを使用すると機能しますが、3 つを使用することもあり、4 つ以上のスレッドで機能するのを見たことはありません。
これは私のコードの一部であり、それほど重要ではない部分は削除されていますが、指定されたスニペットはコード内の連続したブロックであり、コメントにもかかわらずその間に何も削除していません。
MakeRangedRequest 関数は次のとおりです。
TCPクラスを使用してこれをすべて行う必要がありますか? HttpWebRequest に固執するのは素晴らしいことです