通过Java HTTP设置访问来路
  • 2023-10-06 15:11:33
  • 2361 热度
  • 0 评论

通过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>

 

理解了原理,代码编写很简单。

lib.zip

需要的Apache包在上面。


alay

Flame

Hello world!

0 评论
留下评论