⑴ java获取html
Java访问网络url,获取网页的html代码
方式一:
一是使用URL类的openStream()方法:
openStream()方法与制定的URL建立连接并返回InputStream类的对象,以从这一连接中读取数据;
openStream()方法只能读取网络资源。
二是使用URL类的openConnection()方法:
openConnection()方法会创建一个URLConnection类的对象,此对象在本地机和URL指定的远程节点建立一条HTTP协议的数据通道,可进行双向数据传输。类URLConnection提供了很多设置和获取连接参数的方法,最常用到的是getInputStream()和getOutputStream()方法。
openConnection()方法既能读取又能发送数据。
列如:
public static void main(String args[]) throws Exception {
try {
//输入url路径
URL url = new URL("url路径"); InputStream in =url.openStream(); InputStreamReader isr = new InputStreamReader(in); BufferedReader bufr = new BufferedReader(isr); String str; while ((str = bufr.readLine()) != null) { System.out.println(str); } bufr.close(); isr.close(); in.close(); } catch (Exception e) { e.printStackTrace(); } }
⑵ java怎么获取html中的文本域中的内容
<input type="text" name="name" ><input type="button" value="确定">
定义一个变量通过request.getParameter("name")取得,其中name 是标签名称
另外在javascript中可以
先在标签里加回上一个id 如<input type="text" name="name" id="name">
再通过document.getElementById("name").value 取得标签中的值答
⑶ java如何读取html页面的表单
额,1楼在误导LZ,楼主根本没学过struts,所以就别再让他使用ActionForm啦!而且用ActionForm的话,还得回自己去建form的po,很麻烦。答 还有2楼的朋友,你看看他贴出来到代码,他用的是struts1而不是struts2,所以不会有那些属性的get和set方法了。
你要取得表单的值,直接在execute方法里面用request.getParameter()这个方法去取就行了,比如:
String userName = requestgetParameter("userName");
后面的那个userName是页面表单组件里面的name属性,比如:
<input type="text" name="userName" size="30" />
其它的值都是以此类推的。 在Java中取得form表单里的值是很简单的,只是你不熟悉而已,熟悉了就知道了。 希望对你能有所帮助!
⑷ 怎么使用Java提取html表单元素
参考下面代码:
实现代码:
<form action="input.do" name="formkk">
<table>
<tbody>
<tr>
<td>text:</td>
<td>
<input type="text" name="text">
</td>
</tr>
<tr>
<td>password:</td>
<td>
<input type="password" name="pass">
</td>
</tr>
<tr>
<td>radio:</td>
<td>
<input type="radio" name="xingbie" value="1">
男
<input type="radio" name="xingbie" value="2">
女
</td>
</tr>
<tr>
<td>checkbox:</td>
<td>
足球:<input type="checkbox" name="hobby" value="1" />
篮球:<input type="checkbox" name="hobby" value="2" />
拍球:<input type="checkbox" name="hobby" value="3" />
斗球:<input type="checkbox" name="hobby" value="4" />
</td>
</tr>
<tr>
<td>hidden:</td>
<td>
<input type="hidden" value="123" name="hidden"/>
</td>
</tr>
<tr>
<td>option:</td>
<td>
<select name="opt" id="opt">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
</td>
</tbody>
</table>
<input type="button" value="提交" onclick="javascript:check()"/>
</form>String[] hobbys = request.getParameterValues("hobby"); //checkbox
String text = request.getParameter("text"); //text
String password = request.getParameter("password"); //password
String xingbie = request.getParameter("xingbie"); //radio
request.getParameter("hidden");
request.getParameter("opt"); //select
⑸ java获取html内的内容
简单实现:
HtmlRequest类的内容:
[java] view plain
package com.capinfotech.net;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class HtmlRequest {
public static void main(String[] args) throws IOException {
URL url = new URL("http://www.163.com/");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
InputStream inputStream = conn.getInputStream(); //通过输入流获得网站数据
byte[] getData = readInputStream(inputStream); //获得网站的二进制数据
String data = new String(getData, "gb2312");
System.out.println(data);
}
public static byte[] readInputStream(InputStream inputStream) throws IOException {
byte[] buffer = new byte[1024];
int len = 0;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while((len = inputStream.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bos.close();
return bos.toByteArray();
}
}
这样就能获得http://www.163.com的内容,在控制台会打印输出
⑹ 求JAVA读取html文件table里面的内容!
public classReadHtml2 { publicstatic void main(String[] args) throws IOException {//String strUrl=" https://passport..com/?reg&tpl=mn"; /// URL url=new URL(strUrl); File f=new File("fortest.htm"); //输入流 //InputStreamReader isr=newInputStreamReader(url.openStream()); InputStreamReader isr1=newInputStreamReader(new FileInputStream(f)); BufferedReader br=new BufferedReader(isr1); //获取html转换成String String s; String AllContent=""; while((s=br.readLine())!=null) { AllContent=AllContent+s; } //使用后HTML Parser 控件 Parser myParser; NodeList nodeList = null; myParser =Parser.createParser(AllContent, "utf-8"); NodeFilter tableFilter = newNodeClassFilter(TableTag.class); OrFilter lastFilter = newOrFilter(); lastFilter.setPredicates(newNodeFilter[] { tableFilter }); try { //获取标签为table的节点列表 nodeList =myParser.parse(lastFilter); //循环读取每个table for (int i = 0; i <=nodeList.size(); i++) { if (nodeList.elementAt(i)instanceof TableTag) { TableTag tag = (TableTag)nodeList.elementAt(i); TableRow[] rows =tag.getRows(); System.out.println("----------------------table "+i+"--------------------------------"); //循环读取每一行 for (int j = 0; j <rows.length; j++) { TableRow tr =(TableRow) rows[j]; TableColumn[] td =tr.getColumns(); //读取每行的单元格内容 for (int k = 0; k< td.length; k++) { System.out.println(td[k].getStringText());//(按照自己需要的格式输出) } } } } } catch (ParserException e) { e.printStackTrace(); }}}
⑺ java打开html文件
你的意思是用java代码模拟访问一个html网页? 可以用URLConnection
URL url = new URL("你的html文件的http地址");
URLConnection URLconnection = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection) URLconnection;
InputStream urlStream = httpConnection.getInputStream();
另外如果html里有js的话 是不能模拟访问js的