利用apache的虚拟客户端包获取某个地址的内容
1import java.io.UnsupportedEncodingException;
2import java.util.HashSet;
3import java.util.Iterator;
4import java.util.Set;
5import java.util.regex.Matcher;
6import java.util.regex.Pattern;
7
8import org.apache.commons.httpclient.HttpClient;
9import org.apache.commons.httpclient.NameValuePair;
10import org.apache.commons.httpclient.methods.PostMethod;
11
12public class catchMain {
13
14 /**
15 * @param args
16 */
17 public static void main(String[] args) {
18
19
20 String url = "http://search.foodqs.com/companysearch.asp";
21 String keyword="食";
22 String response=createhttpClient(url,keyword);
23 }
24
25public static String createhttpClient(String url,String param){
26 HttpClient client = new HttpClient();
27 String response=null;
28 String keyword=null;
29 PostMethod postMethod = new PostMethod(url);
30 try {
31 if(param!=null)
32 keyword = new String(param.getBytes("gb2312"),"ISO-8859-1");
33 } catch (UnsupportedEncodingException e1) {
34 // TODO Auto-generated catch block
35 e1.printStackTrace();
36 }
37
38 NameValuePair[] data = { new NameValuePair("keyword", keyword) };
39 // 将表单的值放入postMethod中
40 postMethod.setRequestBody(data);
41
42 try {
43 int statusCode = client.executeMethod(postMethod);
44 response = new String(postMethod.getResponseBodyAsString()
45 .getBytes("ISO-8859-1"), "GBK");
46 } catch (Exception e) {
47
48 e.printStackTrace();
49 }
50 return response;
51
52 }
53
2import java.util.HashSet;
3import java.util.Iterator;
4import java.util.Set;
5import java.util.regex.Matcher;
6import java.util.regex.Pattern;
7
8import org.apache.commons.httpclient.HttpClient;
9import org.apache.commons.httpclient.NameValuePair;
10import org.apache.commons.httpclient.methods.PostMethod;
11
12public class catchMain {
13
14 /**
15 * @param args
16 */
17 public static void main(String[] args) {
18
19
20 String url = "http://search.foodqs.com/companysearch.asp";
21 String keyword="食";
22 String response=createhttpClient(url,keyword);
23 }
24
25public static String createhttpClient(String url,String param){
26 HttpClient client = new HttpClient();
27 String response=null;
28 String keyword=null;
29 PostMethod postMethod = new PostMethod(url);
30 try {
31 if(param!=null)
32 keyword = new String(param.getBytes("gb2312"),"ISO-8859-1");
33 } catch (UnsupportedEncodingException e1) {
34 // TODO Auto-generated catch block
35 e1.printStackTrace();
36 }
37
38 NameValuePair[] data = { new NameValuePair("keyword", keyword) };
39 // 将表单的值放入postMethod中
40 postMethod.setRequestBody(data);
41
42 try {
43 int statusCode = client.executeMethod(postMethod);
44 response = new String(postMethod.getResponseBodyAsString()
45 .getBytes("ISO-8859-1"), "GBK");
46 } catch (Exception e) {
47
48 e.printStackTrace();
49 }
50 return response;
51
52 }
53
2.java自带的HttpURLConnection
1public static String getPageContent(String strUrl, String strPostRequest,
2 int maxLength) {
3 //读取结果网页
4 StringBuffer buffer = new StringBuffer();
5 System.setProperty("sun.net.client.defaultConnectTimeout", "5000");
6 System.setProperty("sun.net.client.defaultReadTimeout", "5000");
7 try {
8 URL newUrl = new URL(strUrl);
9 HttpURLConnection hConnect = (HttpURLConnection) newUrl
10 .openConnection();
11 //POST方式的额外数据
12 if (strPostRequest.length() > 0) {
13 hConnect.setDoOutput(true);
14 OutputStreamWriter out = new OutputStreamWriter(hConnect
15 .getOutputStream());
16 out.write(strPostRequest);
17 out.flush();
18 out.close();
19 }
20 //读取内容
21 BufferedReader rd = new BufferedReader(new InputStreamReader(
22 hConnect.getInputStream()));
23 int ch;
24 for (int length = 0; (ch = rd.read()) > -1
25 && (maxLength <= 0 || length < maxLength); length++)
26 buffer.append((char) ch);
27 rd.close();
28 hConnect.disconnect();
29 return buffer.toString().trim();
30 } catch (Exception e) {
31 // return "错误:读取网页失败!";
32 return null;
33 }
34 }
2 int maxLength) {
3 //读取结果网页
4 StringBuffer buffer = new StringBuffer();
5 System.setProperty("sun.net.client.defaultConnectTimeout", "5000");
6 System.setProperty("sun.net.client.defaultReadTimeout", "5000");
7 try {
8 URL newUrl = new URL(strUrl);
9 HttpURLConnection hConnect = (HttpURLConnection) newUrl
10 .openConnection();
11 //POST方式的额外数据
12 if (strPostRequest.length() > 0) {
13 hConnect.setDoOutput(true);
14 OutputStreamWriter out = new OutputStreamWriter(hConnect
15 .getOutputStream());
16 out.write(strPostRequest);
17 out.flush();
18 out.close();
19 }
20 //读取内容
21 BufferedReader rd = new BufferedReader(new InputStreamReader(
22 hConnect.getInputStream()));
23 int ch;
24 for (int length = 0; (ch = rd.read()) > -1
25 && (maxLength <= 0 || length < maxLength); length++)
26 buffer.append((char) ch);
27 rd.close();
28 hConnect.disconnect();
29 return buffer.toString().trim();
30 } catch (Exception e) {
31 // return "错误:读取网页失败!";
32 return null;
33 }
34 }
相关推荐
总结两种方法,java获取硬盘序列号的两种方法
java 解析 tar gz文件 两种方法 目前我找到的Java解析tar.gz文件的两种方法 附带这各自的jar包 希望对大家有用
Java获取客户端真实的IP的两种实现方法,即使通过多级代理也能获取到,很有用
JAVA下使用两种方法(计算法、查表法)实现CRC(XMODEM)算法,以及验证代码
java从一个包含中文字的字符串中抽取数字部分的两种方法,自己使用后,感觉挺符合需求了,分享出来。有需要的可以看看,看是否符合需求。
Java获取磁盘空间的两种代码示例 Java获取磁盘空间的两种代码示例
excel读取主流是poi和jxl,两种方式功能都很全,但是缺乏比较零散。这里CommonUtil类中包含了poi、jxl读取excel的封装类,读取出来后变为list,需要的jar包一起带上了。还附带了excel流的方式下载,以及request内容...
java 获取页面信息,两种方法,Java获取URL信息
两种xml格式的读取方法,两种xml格式的读取方法
主要为大家详细介绍了java读取excel文件的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在java中,我们可以通过两种方式来获取随机数(generating a random number)一种是大家熟悉的java.lang.Math.Random()静态方法,另一种是创建java.util.Random对象。本文介绍了两种方法的使用过程。
java+applet读取串口+开发说明 两种方式 .
这是自己这段时间学习Oracle数据库的一些有关存储过程和Java中调用存储过程的学习心得。
下面列举出了这两种方式获取系统信息的方式及代码。 2 使用Java自带包获取系统信息 2.1 使用Java自带包获取系统信息代码如下: 2.1.1 Bytes.java public class Bytes { public static String substring...
用java解析dbf文件,三种方法,一种按行解析,另两种是要把dbf当做一个表来进行操作就像查询一样 解析驱动是把dbf文件当做表来解析,两种方法中其中一种要装驱动,另一种不要装,这取决你的dbf文件的格式
XML学习笔记(包括Java的两种解析XML的方法)。 XML基础语法的介绍,DTD的介绍和使用。 可快速入门,也可当手册使用。
JAVA 对word 内容的提取返回String 的代码 两种方式详细的资源描述有机会获得我们的推荐,更有利于他人下载,赚取更多积分
java获取百度网盘真实下载路径,包括有提取码的和没有提取码的两种,在文件夹download中的GetBaiduCloudRealUrl是不需要提取码的这种,BaiduYunDownload是需要带提取码的
使用java代码获取excel的.xls和.xlsx 两种格式的具体一列
这个文件中包含测试的Demo和需要的jar包,Demo中有两种方式来获取视频的分辨率,大小等基本信息,简单易上手,亲测有效,没效你顺着网线过来da我