0

私はこのような問題を抱えています https://dev.twitter.com/discussions/4563

               if (webResponse.Headers["Content-Encoding"] == "gzip")
                {
                    byte[] bytes = UTF8Encoding.Unicode.GetBytes(stream);
                    MemoryStream ms = new MemoryStream(bytes);
                    var rstream = new ICSharpCode.SharpZipLib.GZip.GZipInputStream(ms);
                    using (var reader = new StreamReader(rstream, Encoding.UTF8))
                    {
                        var st = reader.ReadToEnd();// Exception here: "Error baseInputStream GZIP header,  second byte doesn't match"
                        parameters = HelperMethods.GetQueryParameters(st);
                    }
                }

私はこのライブラリを使用します: http://slsharpziplib.codeplex.com/

更新: RestClient はツイートの投稿のみに使用します。ログインには次を使用します。

var AccessTokenQuery = oAuthHelper.GetAccessTokenQuery(OAuthTokenKey, tokenSecret, VerifyPin);
            AccessTokenQuery.QueryResponse += new EventHandler<WebQueryResponseEventArgs>(AccessTokenQuery_QueryResponse);
            AccessTokenQuery.RequestAsync(TwitterSettings.AccessTokenUri, null);
4

2 に答える 2

0

私は同じ問題に直面しました。ハンモックを最新バージョンに更新することで解決しました。http://nuget.org/packages/Hammockで入手できます。

更新後、コメントしたときだけ機能しました

DecompressionMethods =Hammock.Silverlight.Compat.DecompressionMethods.GZip

私のOauthリクエストからの行。なぜだかよくわかりません。

于 2012-05-29T14:32:19.480 に答える
0

あなたが受け取っている gzip 応答は、SharpZipLib が期待しているものとはまったく違うようです。

あなたが得ているエラーはSharpZipLib/src/GZIP/GzipInputStream.csからのもので、おそらく次の行からのものです:

if (magic != (GZipConstants.GZIP_MAGIC & 0xFF)) {
                throw new GZipException("Error GZIP header,  second magic byte doesn't match");
}

ストリームをファイルに保存してから、それを確認してください。7-zipなどで解凍できるかどうかを確認してください。何が問題なのかがわかったら、そこから進むことができます。

アップデート:

リンク先のディスカッションの最後に、あなたが抱えている問題の解決策があるようです。

@SMCApps私は休憩をとった...

Dim client = New RestClient() With { _
.Authority = "https://api.twitter.com/oauth", _
.Credentials = credentials, _
.HasElevatedPermissions = True, _
.SilverlightAcceptEncodingHeader = "gzip", _
.DecompressionMethods = Silverlight.Compat.DecompressionMethods.GZip _
}
于 2012-05-04T15:06:53.983 に答える