1

小さな Java ME アプリを実装しています。このアプリは 3 番目のパティ リソースからデータを取得するため、事前に認証を受ける必要があります。最初に get Cookie を呼び出し (簡単でした)、この Cookie を使用して 2 回目の呼び出しでデータを取得します。私はそれを行う方法を少しグーグルで検索し、次の解決策を見つけました - J2MEでCookieを扱う

目的のために、このコードを次のコードに変更しました。

public void getData(String url,String cookie) {
    HttpConnection hpc = null;
    InputStream is = null;

    try {
        hpc = (HttpConnection) Connector.open(url);
        hpc.setRequestProperty("cookie", cookie);
        hpc.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        hpc.setRequestProperty("Accept-Encoding", "gzip, deflate");
        hpc.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
        is = hpc.openInputStream();
        int length = (int) hpc.getLength(); 
        byte[] response = new byte[length];
        is.read(response);
        String strResponse = new String(response);
    } catch (Exception e) {
        System.out.println(e.getMessage() + " " + e.toString());
    } finally {
        try {
            if (is != null)
                is.close();
            if (hpc != null)
                hpc.close();
        } catch (Exception e) {}
    }
}

私は次のようなものを手に入れます

??ÑÁNÃ0à;O±(²§M}A-?@
.?PYS¨Ôe¥Í@\üìde??XÊo}Vâ]hk?­6ëµóA|µvÞz'Íà?wAúêmw4í0?ÐÆ?ÚMW=?òêz    CÛUa:6Ö7¼T?<oF?nh6[_0?l4?äê&)?çó³?ÅÕúf¨ä(.? ªDÙ??§?ÊP+??(:?Á,Si¾ïA¥ã-jJÅÄ8ÊbBçL)gs.S.þG5ÌÀÆéX}CÁíÑ-þ?BDK`²?\¶?ó3I÷ô±e]°6¬c?q?Ó?¼?Y.¯??Y?%?ÏP1è?ìw;?È Ò??e
|ôh0?

どうすればこれをデコードできますか?

4

1 に答える 1

0

愚かな私。次のコードを考慮しませんでしhpc.setRequestProperty("Accept-Encoding", "gzip, deflate");た。ZIP 応答でコード化され、必要なものはすべてデコードされます。

于 2013-07-30T22:03:51.090 に答える