iTunesのautoingestエンドポイントから多くのレポートを正常に取得しています: https ://reportingitc.apple.com/autoingestion.tft
ただし、一部のレポートでは、本文に直接データを返すのではなく、ZIPファイルが返され、応答を読み取ろうとすると次のようになります。
GZipヘッダーのマジックナンバーが正しくありません。GZipストリームを渡していることを確認してください。
応答ヘッダーは次のようになり、zipファイルを示します。
{
Content-Encoding:
Content-Disposition:attachment; filename = O_S_W_XXXXXXXX_20120805.zip
filename:O_S_W_XXXXXXXX_20120805.zip
Transfer-Encoding:chunked
Content-Type:application / a-gzip
Date:Wed、29 Aug 2012 08:54:35 GMT
Set-クッキー:JSESSIONID = XXXXXXXXXXXXXXXX; パス=/
サーバー:Apache-Coyote / 1.1
}
しかし、この添付ファイルにアクセスする方法がよくわかりません。エラーは、添付ファイルと応答の他の部分の両方を1回の操作で準備しようとしているのに対し、実際には応答の一部のみであるという事実に関係している可能性があります。ジッパー。
コードは次のようになります。
HttpWebRequest w = (HttpWebRequest)WebRequest.Create(url);
w.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
w.ContentLength = byteArray.Length;
using (Stream dataStream = w.GetRequestStream())
{
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
using (WebResponse resp = w.GetResponse())
{
using (System.IO.Compression.GZipStream s = new System.IO.Compression.GZipStream(resp.GetResponseStream(), System.IO.Compression.CompressionMode.Decompress))
{
// Just trying to read one byte causes the error.
s.ReadByte();
}
}
どんなアイデアでも大歓迎です。