問題タブ [webexception]
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# - Xml応答ファイル:C#経由ではなく、ブラウザーで受信
C#経由でlast.fmAPIにアクセスしようとしています。最初のテストとして、それが重要かどうか、似たようなアーティストに質問しています。
正しいアーティスト名、つまり「Nirvana」を渡すと、XML応答が返されます。私の問題は、無効な名前(つまり、「Nirvana23」)を配信すると、XMLを受信せず、エラーコード(403または400)とを受信することWebException
です。
興味深いことに、ブラウザ内にURLを入力すると(FirefoxとChromeでテスト済み)、必要なXMLファイル(lastfm固有のエラーメッセージが含まれています)を受け取ります。
XmlReader
私は両方を試しましたXDocument
:
およびHttpWebRequest
:
URLは「http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&artist=Nirvana23」のようなものです(そしてlastfmによって与えられた特定のキーですが、それがなくても-XMLを返すはずです)。試してみるためのリンク:リンク(これは、C#経由でアクセスできないエラーファイルです)。
私も試しました(成功しませんでした):WireSharkの助けを借りて、ブラウザーと私のプログラムの両方による要求を比較しました。次に、リクエストにいくつかのヘッダーを追加しましたが、それも役に立ちませんでした。
web-services - 受信エラー保存または取得しようとしているファイルは、サーバー管理者によってこのWebサイトからブロックされています。0x800401e6
構築してデプロイした後、サーバーの全体管理からソリューション管理を確認しました。これは、wsdlを取得しようとしたとき、またはアドレスからWSを呼び出しただけで、いくつかの列を持つドキュメントライブラリリストを作成するだけのシンプルなWebサービスメソッドです。 voidメソッド私はいくつかのエラーを受け取ります:
すでにデプロイされている別のWebサービスプロジェクトから呼び出された場合、まったく同じメソッドが正常に実行されるため、コードに問題はありません。私はおそらく何か間違ったことをしているのですが、理解できません。システムは、SharePoint 2010、フレームワーク3.5、および「ANY」CPUモードを備えたWinServer2008で実行されています。ありがとう!
[編集]中央管理のブロックされたファイルリストからasmx拡張機能を削除することで、以前のエラーを取り除くことができました。代わりに、404エラーが表示されます。
c# - 応答サーバーがHTTPヘッダーを返送しないときにC#を使用してHTTPを受信するにはどうすればよいですか?
小さな埋め込み中国語デバイスからHTTPコンテンツを受信しようとしています。デバイスの組み込みWebサーバーはヘッダーを受け入れますが、応答でヘッダーを返しません。
すなわち
生の応答:(2行、1はXML、2番目は空白\ n)
<?xml version="1.0" encoding="utf-8"?><document><userkey>key</userkey> <machinemode>1</machinemode><serial>0000</serial><unitname>Device</unitname><version>1</version></document>\n
Fiddlerは応答をまったく表示しません。HttpWebRequest
応答にヘッダーがないため、andを使用してWebClient
も結果は得られず、これにより例外が発生します。私が行った調査のいくつかはuseUnsafeHeaderParsing
、アプリケーション構成にを追加する(および/またはプログラムで設定する)ことを示しています。これはまったく機能しません。私はまだ受け取ります
System.Net.WebException was unhandled
Message=The server committed a protocol violation. Section=ResponseStatusLine
Source=System
StackTrace:
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
これに対する回避策はありますか?Sockets / TCPClientを使用せずに、ヘッダーを提供しないサーバーからデータを受信する別の方法はありますか?
c# - WebExceptionボディで全体の応答を取得する方法は?
WebExceptionで、GetResponseの本体が表示されません。これはC#での私のコードです:
ヘッダーは表示されますが、本文は表示されません。これは、リクエストに対してWiresharkから出力されます。
WebExceptionでメッセージテキストを表示することはどういうわけか可能ですか?ありがとうございました。
c# - HttpWebRequestは例外をスローしません
httpwebrequest例外に問題があります。次のコードを使用してリクエストを行い、例外をキャッチします。
www.oiuahsdupiasduiuhid.comなどの存在しないURLを入力すると、会社のネットワークで; webexceptionをスローします。ステータスコードが見つかりません:見つからないか、サービスを利用できません。ただし、自宅で試してみても例外はありません。約1秒待ってから、エラーなしで動作を停止します。何が起こっているかを確認するためにすべての例外を削除しますが、問題はエラーが表示されないことです。何が問題なのか分かりますか?
または、推奨事項はありますが、この問題を別の方法で処理するにはどうすればよいですか?
c# - WebRequest を介して RssFedd を取得すると、WebException がスローされます
簡単な呼び出しを使用して RssFeed を取得します。しかし、リクエストを呼び出すたびに、 WebException
「リモートサーバーが応答しませんでした」というメッセージがスローされます。でもIE/Chrome/Firefoxでやってみると答えが出ました。
だから私はこの機能だけで最小限のコンソールプロジェクトを開始しようとしました:
これらのminimalprojectは機能するので、問題は私のプロジェクト設定にありますが、私のメインプロジェクトはどうなっていますか?
c# - HttpWebRequest.GetRequestStream によってスローされた System.Net.WebException がキャッチされない
C# で HTTP 要求を使用してビデオ デバイス (エンコーダー) をリモート コントロールするための単純な (コンソール) アプリケーションを作成しています。XML データをデバイスに送信する必要があり、デバイスは XML データを送信して応答します。
このリクエストを行うために使用しているコードは次のとおりです: http://pastebin.com/59CXR3m9
このコードをテストしようとすると、リクエストが作成され、ストリームが書き込まれます。フラグは期待どおりに表示されます"stream created"
が、何も起こりません。特定の短いタイムアウト (たとえば 5 秒) を使用している場合でも、アプリケーションがスタックしているように見えます。
これをトラブルシューティングするために、System.Net
トレース ログを有効にしました。WebException
aが によってスローされることがわかりましたGetRequestStream
が、1 つの理由から、この例外はコード内のによってキャッチされません。try/catch
例外は次のとおりです。
System.Net Error: 0 : [1344] Exception in the HttpWebRequest#44223604:: - The underlying connection was closed: The connection was closed unexpectedly.
オンデマンドで完全なトレースを送信できます。
また、コールスタックで別のトレースを行い、例外がスローされたことを示していますGetRequestStream
: http://pastebin.com/vE5QZGBe
このコードを別のデバイスでテストしたところ、問題なく動作したため、これもデバイス関連ですが、その例外がキャッチされない理由はわかりません。そして、これは本番環境の状況になる可能性があるため、コードはこれを正しく処理できる必要があります (応答を際限なく待機する必要はありません)。
誰かがすでにこの種の行動をとっていましたか?どんな提案でも大歓迎です:)
ありがとう!
参考までに: 成功したリクエストの痕跡もあります。
c# - C# での HttpPostedFile の処理
(POST メソッドで) ファイルを別のアプリケーションに送信できる C#.net Web アプリケーションがあります。2 番目のアプリケーションには、投稿されたファイルを取得するための以下のコードがあります。
これで、コードでファイルを保存できます
しかし、ここに保存せずに別のアプリケーションに再度送信する必要があります(2 番目の appln に保存せずに、3 番目の appln に送信する必要があります)。
(これで、2 番目のアプリケーションでファイルを保存し、そこから 1 番目のアプリケーションで行ったのとまったく同じパスを指定して 3 番目のアプリケーションにポストすることができます。しかし、別の解決策が必要です。)
hpf.fileName を試しましたが、ファイル名 (例:test.txt) のみを指定します。以下のように試したところ
「WebClient リクエスト中に例外が発生しました」のような WebException が発生しました。
C# .net でそれを行う方法はありますか?
asp.net - 予期しないパケット形式が原因で WebRequest ハンドシェイクが失敗する
同じコードを使用してサード パーティの Web サイトに "ログイン" する ASP.NET Web サイトと Web サービスが多数あります。これには基本的に、WebRequest を使用して Web サイトのログイン ページに認証情報で HTTP POST を実行し、結果の Cookie を CookieContainer に保存し、その CookieContainer を後続の WebRequest で使用して、サード パーティの Web サイトのページに対して Web サイトを承認することが含まれます。
コードは基本的に次のとおりです。
このコードは長い間 (数か月、半年以上) 機能しています。今週末から、非常に頻繁に失敗するようになりました (私が推定する 90% の確率ですが、100% の確率ではありません)。私が見続けるエラーは次のとおりです: System.Net.WebException: 基になる接続が閉じられました: 送信時に予期しないエラーが発生しました。---> System.IO.IOException: 予期しないパケット形式のため、ハンドシェイクが失敗しました。 スタック トレースは次のとおりです。
このエラーをグーグルで検索すると、私が見続ける唯一の解決策は、WebRequest の KeepAlive プロパティを無効にするか、ProtocolVersion を HttpVersion10 に設定することです。両方を(可能な限りすべての組み合わせで)試しましたが、何も役に立ちません。
エラーは常に表示されるわけではありませんが、表示された場合は、好きなだけ試してみることができます。何度も何度もエラーが発生し続けます。数分間放置して再試行すると、機能する可能性があります (一度機能すると、しばらくは機能し続けます)。
奇妙な点は、私が何も変更していないことです。このコードは何ヶ月も問題なく実行されています。サード パーティの Web サイトが最後に何かを変更したか、私の Web ホスティング プロバイダーが何かを変更した可能性は十分にあります。しかし、この問題を解決するために何かできることがある場合に備えて、何か間違ったことをしていないかどうか尋ねたいと思いました.
サード パーティの Web サイト (おそらく応答が得られない) または Web ホスティングに連絡することもできますが、このエラーをそれらにスローしてもおそらく役に立たないため、正確に何が問題なのかをよりよく理解する必要があります。
それで、私にできることはありますか、それとも私のすべてのウェブサイトで突然このエラーが表示されるのには正当な理由がありますか (それらはすべて同じサードパーティのサイトに接続しています)?
ありがとう
windows-phone-7 - WebClient.DownloadStringAsync webexception wp7
xml ファイルからノードを削除しようとしていますが、すべてうまくいきますが、xml Web ページがロードされないことがあります。これは私のコードです:
この「間違い」を処理するために WebException を使用することを読みましたが、使用できません。誰か助けてくれませんか?