Windows phone 8 谷歌驱动器没有gzip响应

Windows phone 8 谷歌驱动器没有gzip响应,windows-phone-8,google-drive-api,dotnet-httpclient,Windows Phone 8,Google Drive Api,Dotnet Httpclient,我正在为Windows Phone编写SDK,以便与Google Drive交互,但我无法让服务器返回Gzip响应。正如您从我的请求中所看到的那样,我只是简单地提到了这一点,但我仍然只得到了原始数据: 请求: GET https://www.googleapis.com/drive/v2/files/ HTTP/1.1 Accept: */* User-Agent: my program (gzip) Authorization: Bearer [removed] Accept-Encoding

我正在为Windows Phone编写SDK,以便与Google Drive交互,但我无法让服务器返回Gzip响应。正如您从我的请求中所看到的那样,我只是简单地提到了这一点,但我仍然只得到了原始数据:

请求:

GET https://www.googleapis.com/drive/v2/files/ HTTP/1.1
Accept: */*
User-Agent: my program (gzip)
Authorization: Bearer [removed]
Accept-Encoding: gzip
Host: www.googleapis.com
If-None-Match: "PA40KOhMf9e-1Hypww_TkG8doNA/jgiBh3LdSV9a9DAu8kcM87C_SgA"
Connection: Keep-Alive
答复:

HTTP/1.1 200 OK
Expires: Fri, 13 Sep 2013 06:31:47 GMT
Date: Fri, 13 Sep 2013 06:31:47 GMT
Cache-Control: private, max-age=0, must-revalidate, no-transform
ETag: "PA40KOhMf9e-1Hypww_TkG8doNA/P9KtUv7cYy7pQSattesAaw0ejBM"
Content-Type: application/json; charset=UTF-8
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Length: 215811
Server: GSE
Alternate-Protocol: 443:quic
以上两个都是用Fiddler捕捉到的

创建和使用HttpClient的代码,我最初也包括deflate方法,但在Google提供的示例中没有包括deflate方法时将其删除:

HttpClientHandler Handler = new HttpClientHandler();

if (Handler.SupportsAutomaticDecompression)
{
    Handler.AutomaticDecompression = DecompressionMethods.GZip;
}

HttpClient Client = new HttpClient(Handler);
Client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + Token.AccessToken);
if (Handler.SupportsAutomaticDecompression)
{
    Client.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "my program (gzip)" /*"DriveClient (gzip)"*/);
}

HttpResponseMessage Responce = await DriveAuthorisation.DriveHttpClient.GetAsync("https://www.googleapis.com/drive/v2/files/");

谢谢

您使用什么API创建请求?您看过新的Microsoft.Net.Http和Microsoft.Bcl.Compression吗?谢谢,我以前看过,以后再看一遍。我已经在原始问题中包含了我的呼叫代码的简化版本。对不起,与您的问题无关,但我很好奇,为什么不直接使用授权头呢。e、 g.DefaultRequestHeaders.Authorization=新的AuthorizationHeaderValue(“bearer”,Token.AccessToken)?您的请求具有具有适当值的Accept Encoding标头,但服务器忽略了它。您确定要连接的服务器支持GZip吗?