通过Java HTTP连接将网络图片下载到本地:http://www.javacui.com/java/61.html
那么如何使用java进行http请求,设置来路呢?
之前写过一篇文章,通过Java HTTP连接将网络图片下载到本地(http://www.javacui.com/java/61.html)。这里就不使用JDK里面直接的方式了,借助Apache的工具包来实现。
还是那个工程,编写请求方式:
package test;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.SimpleHttpConnectionManager;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
/**
* java小强
* 协议中设置来路
*/
public class SetHead {
public static void main(String[] args) throws HttpException, IOException {
String url = "http://localhost:8008/head/";
HttpClient client = new HttpClient(new HttpClientParams(), new SimpleHttpConnectionManager(true));
client.getHttpConnectionManager().getParams().setConnectionTimeout(15000); //通过网络与服务器建立连接的超时时间
client.getHttpConnectionManager().getParams().setSoTimeout(60000); //Socket读数据的超时时间,即从服务器获取响应数据需要等待的时间
GetMethod method = new GetMethod(url);
method.setRequestHeader("Content-Type", "text/html;charset=UTF-8"); // 防止乱码
method.setRequestHeader("Referer", "http://www.javacui.com"); // 设置来路
client.executeMethod(method);
String htmlString = method.getResponseBodyAsString();
System.out.println(htmlString);
}
}
获取到内容如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="http://localhost:8008/head/"> <title>检查来路</title> </head> <body> <center> <br><br><br><br> 来路:http://www.javacui.com </center> </body> </html>
理解了原理,代码编写很简单。
需要的Apache包在上面。
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。
发表评论: