zoukankan      html  css  js  c++  java
  • Http方式获取网络数据

      通过以下代码可以根据网址获取网页的html数据,安卓中获取网络数据的时候会用到,而且会用Java中的sax方式解析获取到数据。(sax解析主要是解析xml)具体代码如下:

    package com.wyl;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    
    public class HttpDownloadTest {
    	public static void main(String[] args) {
    		StringBuffer sb = new StringBuffer();
    		try {
    			//创建url对象
    			URL url = new URL("http://www.baidu.com");
    			//创建connection
    			URLConnection conn = url.openConnection();
    			//使用io流读取数据
    			InputStream ips = conn.getInputStream();
    			InputStreamReader reader = new InputStreamReader(ips);
    			BufferedReader br = new BufferedReader(reader);
    //			String s = br.readLine();
    			while(br.readLine()!=null){
    				//返回读取出来的结果
    				sb.append(br.readLine());
    			}
    			System.out.println(sb);
    		} catch (MalformedURLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    

      

    实例2:

    package wyl;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    
    
    public class httpdownloadtest {
    	public static void main(String[] args) {
    //		getSDPath();
    //		System.out.println("路径:"+getSDPath());
    		System.out.println("xml:"+getXml("http://www.weibo.com"));
    		System.out.println("======");
    		System.out.println("xml:"+getXml("http://www.baidu.com"));
    	}
    	/**
    	 * 获取sd卡路径
    	 * @return
    	 */
    //	public static String getSDPath(){
    //		return Environment.getExternalStorageDirectory().getPath();
    //	}
    	/**
    	 * 根据网址获取转换后的xml
    	 * @param dizhi
    	 * @return
    	 */
    	public static String getXml(String dizhi){
    		BufferedReader bufferedreader;
    		String xml = "";
    		StringBuffer sb = new StringBuffer();
    		try {
    			URL url = new URL(dizhi);
    			//1 获取一个连接
    			URLConnection conn = url.openConnection();
    			//2 把inputStream封装成为BufferedReader,
    			bufferedreader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    			while(bufferedreader.readLine()!=null){
    				//3 从缓冲流里读出数据
    				sb.append(bufferedreader.readLine());
    			}
    			//4 把StringBuffer转换为String 
    			xml = sb.toString();
    		} catch (MalformedURLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return xml;
    	}
    	
    }
    

      

  • 相关阅读:
    [转载]解析.Net框架下的XML编程技术
    Intercept and Manage Windows Originated by Thirdparty Components Hosted in C# Application
    [创业]<高效能人士的七个习惯>有感
    [关于DES程序]对前DES1.0源码bug的修正
    The secret benefit of search engine optimisation: Increased usability
    效率不高的7个原因
    [PDF]Intrusion Detection Techniques and Approaches
    [转载]基于数据挖掘的入侵检测系统
    [转载]在 C# 中加载自己编写的动态链接库
    [转载]在WinForm中使用Web Services 来实现 软件 自动升级( Auto Update ) (C#)
  • 原文地址:https://www.cnblogs.com/Sunnor/p/4759837.html
Copyright © 2011-2022 走看看