lz可以这样比如你已经写个类,为DatePrivader有个方法,getDatePrivader()你的url可以这样http://www.xxx.com/xxx/datePrivader.do?method=getDatePrivader&url="http://www.sian.com";记住,如果url中有&或是特殊字符,一定要加密或做相应处理,否则类中取不到。在类里getDatePrivader()可以这样:                        URLConnection uc = new URL(url).openConnection();
uc.setConnectTimeout(10000);
uc.setDoOutput(true);

InputStream in = new BufferedInputStream(uc.getInputStream());
Reader rd = new InputStreamReader(in);

int c = 0;
StringBuffer temp = new StringBuffer();
while ((c = rd.read()) != -1) {
temp.append((char) c);
}
in.close();

strHtml = temp.toString();
request.setAttribute("strHtml", strHtml);
这样你就得到了页面的全部(strHtml)当然如果是数据的话strHtml也可以是个xml解析就好了在jsp中你可以这样显示:
<%@page contentType="text/html;charset=GBK"%>
<%request.setCharacterEncoding("GBK");
response.setHeader("progma", "no-cache"); //屏蔽页面缓存
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
%>
${strHtml}

解决方案 »

  1.   

    谢谢楼上两位的帮忙!首先我无法控制用户去配置他们的浏览器代理。其次我可以得到1楼朋友说的strHTML,但关键是我不会对它解析(解析就是改变返回页面所有链结)。例如图片链接,表单链接(action=“xxxx”)等。而且很多链结都是相对地址,例如:/ucd/index.jsp。谢谢大家帮忙!!
      

  2.   

    本帖最后由 java2000_net 于 2008-04-13 06:06:02 编辑
      

  3.   

    谢谢五楼的回答!我对正则表达式不是很明了,请问一下:([^"']*?)是什么意思啊!是否是不含有双引号或单引号零个或多个?如果是?又是为什么这样写?为什么第三个group($3): ([\"']?.*?>) 的结果是:http://www.java2000.net'> 或者 http://www.csdn.net>CSDN</a>。我觉得应该是:'> 或者是 >