java得到请求来的页面HTML 20
比如一个页面点击a标签,请求servlet,servlet怎样得到这个页面的所有HTML代码?JAVA能实现吗。JS要怎么实现,要兼容所有浏览器!...
比如一个页面点击a标签,请求servlet, servlet怎样得到这个页面的所有HTML代码?
JAVA能实现吗。JS 要怎么实现,要兼容所有浏览器! 展开
JAVA能实现吗。JS 要怎么实现,要兼容所有浏览器! 展开
展开全部
页面:
<body>
<form action="/。。。。" id="form1">
<input type="hidden" name="indexUrl" id="indexUrl">
<a href="javascript:void(0);" onclick="goTo();">URL</a>
</form>
</body>
<script type="text/javascript">
function goTo(){
var form = document.getElementById("form1");
var url = location.href;
var indexUrl = document.getElementById("indexUrl");
indexUrl.value = url;
form.submit();
}
</script>
servlet的doPost方法:
String indexUrl = request.getParameter("indexUrl");
URL url = new URL(indexUrl);
InputStream is = url.openConnection().getInputStream();
byte[] bs = new byte[9999];
int len = 0 ;
while((len = is.read(bs, 0, 9999))!=-1){
System.out.write(bs, 0, len);
}
is.close();
还可以用专门获取网页的JAR包,好像是jsoap?上面的代码没有考虑转码的问题。如果是中文可能出现乱码,注意要统一编码格式。
------------------------------------------------------
修改了一下servlet的doPost方法,解决编码问题。我的页面是utf-8编码。
String indexUrl = request.getParameter("indexUrl");
URL url = new URL(indexUrl);
InputStream is = url.openStream();
// InputStream is = url.openConnection().getInputStream();
InputStreamReader isr = new InputStreamReader(is,"utf-8");
char[] cs = new char[9999];
while(isr.read(cs, 0, 9999)!=-1){
System.out.print(cs);
}
is.close();
<body>
<form action="/。。。。" id="form1">
<input type="hidden" name="indexUrl" id="indexUrl">
<a href="javascript:void(0);" onclick="goTo();">URL</a>
</form>
</body>
<script type="text/javascript">
function goTo(){
var form = document.getElementById("form1");
var url = location.href;
var indexUrl = document.getElementById("indexUrl");
indexUrl.value = url;
form.submit();
}
</script>
servlet的doPost方法:
String indexUrl = request.getParameter("indexUrl");
URL url = new URL(indexUrl);
InputStream is = url.openConnection().getInputStream();
byte[] bs = new byte[9999];
int len = 0 ;
while((len = is.read(bs, 0, 9999))!=-1){
System.out.write(bs, 0, len);
}
is.close();
还可以用专门获取网页的JAR包,好像是jsoap?上面的代码没有考虑转码的问题。如果是中文可能出现乱码,注意要统一编码格式。
------------------------------------------------------
修改了一下servlet的doPost方法,解决编码问题。我的页面是utf-8编码。
String indexUrl = request.getParameter("indexUrl");
URL url = new URL(indexUrl);
InputStream is = url.openStream();
// InputStream is = url.openConnection().getInputStream();
InputStreamReader isr = new InputStreamReader(is,"utf-8");
char[] cs = new char[9999];
while(isr.read(cs, 0, 9999)!=-1){
System.out.print(cs);
}
is.close();
更多追问追答
追问
我HTML是一个JS控制的网页游戏,我要得到这个游戏的进度肯定要得到所有的HTML,你这种是得到地址然后发送请求的吧。有其他思路吗
追答
JS控制的网页游戏?那你获取所有HTML有毛线的用。把进度保存到JS中发送过去就是了。
展开全部
你得到html代码干啥啊,得到name就够啦。
如果是checkbox的话,得到一组name就可以了。
你说说你的目的用途吧,要不,解决不了你真正的问题。
如果是checkbox的话,得到一组name就可以了。
你说说你的目的用途吧,要不,解决不了你真正的问题。
追问
我HTML是一个JS控制的网页游戏,我要得到这个游戏的进度肯定要得到所有的HTML
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
得到所有的应该是得不到的,但是得到请求源的HMTL代码应该是可以的,要不HttpServletRequest对象里面的参数是怎么来的,是吧。我只知道这个思路,你去研究下吧 呵呵。最好能仔细看下HttpServletRequest及父类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询