日期:2014-05-20  浏览次数:20651 次

JAVA读取URL的问题。
请完成以下方法:
public static String getPageContent(String url){
  String pageContent =null;


  return pageContent;
}

最好能实现:
1、自动识别url页面的编码
2、如果服务器拒绝,设置代理连接
3、返回的是url页面源代码

------解决方案--------------------
自动识别?你要读取源代码的头信息,里面可以获取到页面编码。
------解决方案--------------------
用htmlparser.jar试试呢
------解决方案--------------------
Java code

public static String getPageContent(String url){
        String pageContent = "";
        try {
            File file = new File(url);
            BufferedReader in = new BufferedReader(new FileReader(file));
            String str = in.readLine();
            while (str != null) {
                pageContent += str + "\n";
                str = in.readLine();
                if (null == str) {
                    break;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        return pageContent;
    }

------解决方案--------------------
以前写过一个类似的 帮你修改了下
Java code


import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class URLconnectionTest {

    public static void main(String[] args) throws Exception {
        String content  = getPageContent("http://www.baidu.com");
        System.out.println(content);
    }

    public static String getPageContent(String url) throws Exception {
        String pageContent = null;
        URL url2 = new URL(url);
        URLConnection urlcon = url2.openConnection();
        
        System.out.println(urlcon.getHeaderField("Content-Type"));
        InputStream is = urlcon.getInputStream();
        StringBuffer sbf  = new StringBuffer();
        
        byte[] buffer = new byte[2048];
        
        int length = 0;
        
        while(-1 != (length = is.read(buffer, 0, buffer.length)))
        {
            sbf.append(new String(buffer,0,length));
        }
        
        pageContent = sbf.toString();
        return pageContent;
    }

}

------解决方案--------------------
我觉得LZ你应该把这3个问题分别用google查一下~!
------解决方案--------------------
探讨

引用:

以前写过一个类似的 帮你修改了下
Java code


import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class URLconnectionTest {

public static void ma……

------解决方案--------------------
读取地址内容推荐用jsoup.jar!
------解决方案--------------------
探讨

引用:

引用:

引用:

以前写过一个类似的 帮你修改了下
Java code


import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public cl……

------解决方案--------------------
可以实现,用url打开连接,下载页面,然后分析页面,html里面都有编码方式的。
如果下载失败,重新创建连接设置代理,代码懒得写了







--signature-------------------
http://www.mowker.com/qkdq.htm