Web 応答を逆シリアル化しようとすると、無効な操作の例外が発生します。
この Web 応答では、https 経由で送信する XML ページを取得します。私のコードは基本的に、ログイン Cookie を取得するための Web リクエストを送信し、次に XML ページを取得するための別のリクエストを送信し、その後、そのページを逆シリアル化します。
デシリアライズしようとすると問題が発生し、次のエラーが表示されます。
There is an error in XML document (1, 1).
最初に、Web 応答を調べて、適切なデータがあるかどうかを確認しました。そこで、webresponse を streamreader に入れ、readToEnd を使用して文字列に変換しました。そのようです:
dim myStringResult as String = myStreamReader.ReadToEnd()
それは私にいくつかの文字と数字とブロックを与えました。だから私は私が得る応答が問題だと思います。Fiddler で確認したところ、コンテンツを表示する前に応答をデコードする必要があることがわかりました (そして、必要な適切な応答がありました)。私は例外をもう少し深く掘り下げて、それが言うのを見ました
hexadecimal value 0x1F, is an invalid character. Line 1, position 1
System.Text.Encoding を調べてみましたが、16 進数のものが見つかりませんでした。誰でもこれで私を助けることができますか?
編集: 16 進数でエンコードされているためではなく、https 応答であるため、デコードする必要がある可能性があります。
edit1:HttpUtility.HtmlDecode
残念ながら、文字列を変更しませんでした。
edit2:私が取得しているデータの例
{� �U�r�0��+(g���(J���$�k;IomR& �I�N?���/� 6���L�^`���</p >
データが正しく表示されません。ほとんどが正方形であると思われます。ときどき見かける
編集:ヘッダー
content-disposition: : attachment; filename="document.xml" CachingModuleShouldWork: true Content-Language: en-US Vary: Accept-Encoding,User-Agent
コンテンツの長さ: 382 コンテンツの種類: アプリケーション/xml