0

HttpClient4.1を使用しています。次のプログラムをご覧ください。

import org.apache.http.client.methods.*;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;

public class SysCommands {
    public static void main(String [] args){
        try{
            HttpClient c = new DefaultHttpClient();
            System.out.println("Initial part");
            HttpGet method = new HttpGet("http://www.google.com");
            HttpResponse resp = c.execute(method);
            System.out.println("Method executed");
            String s = "";
            resp.getHeaders(s);
            System.out.println("headers are "+s);
            BufferedReader rd = new BufferedReader(new InputStreamReader(resp.getEntity().getContent()));
            String line = "";
            while ((line = rd.readLine()) != null) {
                    System.out.println(line);
            }
        }catch(Exception e){
            System.out.println(e);
        }
    }
}

これを実行すると、が得られorg.apache.http.client.ClientProtocolExceptionます。何が間違っている可能性がありますか?

4

2 に答える 2

0

グーグルがあなたをあなたの「ローカル」グーグルサイトにリダイレクトするかもしれません。私はオランダに住んでいて、www.google.comを取得すると、www.google.nlへのHTTP302リダイレクトで応答します。

デフォルトのhttpクライアントがどのように構成されているかはわかりませんが、デフォルトでリダイレクトに従わない可能性があります。

于 2012-06-25T20:30:43.910 に答える
0

HttpClient の代わりに HttpURLConnection を使用することを検討しましたか?

于 2012-06-25T20:10:38.390 に答える