浏览 7065 次
锁定老帖子 主题:关于如何获取网页代码的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-21
/** * Download the file specified by an URL. */ package fetchInformation; import java.io.*; import java.net.*; /** * @author caojinghua * */ public class DownloadFiles { public static void LoadFiles(String spec, File save) { try{ URL url=new URL(spec); BufferedReader in=new BufferedReader(new InputStreamReader(url.openStream())); //output to a file BufferedWriter out=new BufferedWriter(new FileWriter(save)); String line=null; while((line=in.readLine())!=null) { out.write(line); } if(in!=null) in.close(); if(out!=null) out.close(); }catch(MalformedURLException e) { System.out.println(e); }catch(IOException ioe) { System.out.println(ioe); } } /** * @param args */ public static void main(String[] args) { String savepath="a.txt"; String url="http://www.dianping.com/"; try{ File savefile=new File(savepath); LoadFiles(url, savefile); }catch(NullPointerException e){ System.out.println(e); } } } 奇怪的是,存储获取到的代码的文件a.txt的内容只有一行:http://www.dianping.com。而若改成获取其他的网站,譬如:url="http://www.google.cn",获取到的内容跟用浏览器查看网页源文件里的内容是一样的,我试过很多网站都没问题,但上面这个网站就不行,不知道是不是该网站要登陆的原因,但用浏览器浏览该网站时是不用登陆的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-21
你可能需要设置请求的user-agent参数.请看我的blog
http://dengyin2000.iteye.com/blog/47414 |
|
返回顶楼 | |
发表时间:2007-01-22
我按照楼主的blog里写的修改了代码:
URLConnection urlcon=(HttpURLConnection)url.openConnection(); urlcon.setRequestProperty("User-agent", "Firefox/2.0"); BufferedReader in=new BufferedReader(new InputStreamReader(urlcon.getInputStream())); 但抛出java.net.ProtocolException: Server redirected too many times (20) |
|
返回顶楼 | |