我目前正在掌握新的 HttpClient 库,以提供一个基本类来返回 html/css/etc。请求的 URL。使用取自此处的示例
你可以看到下面的例子:
package test;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
public class Test {
public final static void main(String[] args) throws Exception {
HttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget = new HttpGet("http://www.cwjobs.co.uk/");
System.out.println("executing request " + httpget.getURI());
// Create a response handler
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httpget, responseHandler);
System.out.println(responseBody);
} finally {
httpclient.getConnectionManager().shutdown();
}
}
}
我遇到的问题是,如果我要将我想要请求的 URL 设置为http://www.google.com之类的东西,那么它会打印出我需要的响应。但是,当我使用诸如 www.cwjobs.co.uk 之类的 URL(仅用作示例)时,它会冻结在执行方法上。
我对 Java 相当陌生,我了解 HTTP 的基础知识,所以我很想知道: - 虽然我使用了一个基本示例,但我做错了,要么缺少需要添加才能访问该特定 URL 的内容 - 它由于服务器端的环境设置,无法从该特定 URL 获得我想要的响应。- 你可以推荐给我的任何额外的文献或链接,让我在 Apache.org 站点之外查看
谢谢,马克