java 读取页面源码 的多种方式
来源:互联网 发布:淘宝摄影服务 编辑:程序博客网 时间:2024/04/27 18:07
HttpClient和GetMethod都是来自apache的包
1、Socket读取
String strServer=http://www.google.cn;//这里同样可以用ip来访问:203.208.35.100
String strPage="/language_tools?hl=zh-CN";
try {
String hostname = strServer;
int port = 80;
InetAddress addr = InetAddress.getByName(hostname);
Socket socket = new Socket(addr, port);
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
wr.write("GET " + strPage + " HTTP/1.0\r\n");
wr.write("HOST:" + strServer + "\r\n");
wr.write("\r\n");
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
System.out.println(line);
}
wr.close();
rd.close();
} catch (Exception e) {
System.out.println(e.toString());
}
2、HttpClient方式
HttpClient client=new HttpClient();
GetMethod method=new GetMethod("http://www.baidu.com/");
int status=client.executeMethod(method);
if(status==HttpStatus.SC_OK){
//读取内容
byte[] responseBody = method.getResponseBody();
//处理内容
System.out.println(new String(responseBody));
System.out.println("文件名称:"+method.getPath());
}
3、HttpURLConnection方式
URL url = new URL("这里是你要连接的地址");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoOutput(true);//是否可用于输出(输出参数),默认为fasle。另:setDoInput()为是否可用于输入,默认为true
String parameters = "name=admin&password=123456";//这里是要传递的参数
OutputStream os = conn.getOutputStream();
os.write(parameters.getBytes("utf-8"));
os.flush();
os.close();
System.out.println("返回状态码:"+conn.getResponseCode());
System.out.println("返回消息:"+conn.getResponseMessage());
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));
String line = null;
while((line=br.readLine())!=null){
System.out.println(line);
}
// DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();;
// DocumentBuilder db = dbf.newDocumentBuilder();
// Document doc = db.parse(is);
- java 读取页面源码 的多种方式
- Java 读取TXT文件的多种方式
- java 多种方式文件读取
- java配置文件读取和项目路径的多种获取方式
- Java多种方式读取文件内容
- [C/C++]读取文件的多种方式
- Python 读取文件的多种方式
- java 读取本地文件的多种方式及对文件的各种操作
- 多种方式读取GridView某行的值
- 多种方式读取GridView某行的值
- ASP.net 多种方式读取GridView某行的值
- java的读取方式
- java 读取站点页面源码方法总结
- java 定义二维数组的多种方式
- 生产者消费者的多种java实现方式
- Java中单例模式的多种实现方式
- JAVA连接数据库的方式有多种
- Java中测试异常的多种方式
- TCP/IP详解学习笔记(1)-基本概念
- 未来3个月计划
- OnEraseBkGnd与OnPaint的联系是什么? 转自:http://www.cppblog.com/Walker/articles/144098.html
- Linux 内存管理 重要结构体 (转)
- 基于 Android NDK 的学习之旅-----资源释放
- java 读取页面源码 的多种方式
- ARM软件访问硬件的核心理论(2.1)---S3C6410 时钟分析
- KeyKeriki
- 关于脚本录制和回放终端会话(script、scriptreplay)使用
- 2012年第8周移动游戏推荐
- android应用开发设计模式之原型模式
- 图像运算(三)——乘法(Multiplication)
- oracle nvl( ) 函数
- spring+httpClient调用别人服务