zoukankan      html  css  js  c++  java
  • HttpURL连接远程serverGet和Post方式请求并返回数据

    查看原文:http://www.ibloger.net/article/1813.html


    package cn.gis;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLConnection;
    
    /**
     * 路径分析
     */
    public class GISData {
    
    	/**
    	 * Get请求方式
    	 * 
    	 * @param urlAddress 请求地址
    	 * @param encodedType 编码方式,UTF-8,GBK...
    	 */
    	public static String getData(String urlAddress, String encodedType) {
    
    		try {
    			URL url = new URL(urlAddress);
    			HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 打开和URL之间的联接
    
    			// 获取返回数据,使用 utf-8 将流数据进行转码。否则会产生乱码
    			BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), encodedType));
    			String line = null;
    			StringBuffer sb = new StringBuffer();
    			while ((line = in.readLine()) != null) {
    				sb.append(line);
    			}
    			in.close(); // 关闭流
    			return sb.toString();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return "";
    	}
    
    	/**
    	 * POST 请求方式
    	 * 
    	 * @param urlAddress 请求地址
    	 * @param encodedType 编码方式。UTF-8,GBK...
    	 */
    	public static String postData(String urlAddress, String encodedType) {
    		try {
    			URL url = new URL(urlAddress);
    			URLConnection conn = url.openConnection(); // 打开联接
    			// 使用POST请求,是否向connection输出/输入。由于这个是post请求。參数要放在http正文内,因此须要设为true
    			conn.setDoOutput(true);
    			conn.setDoInput(true);
    			conn.setUseCaches(false); // Post请求不用设置缓存
    
    			// // 发送域信息
    			// OutputStreamWriter out = new
    			// OutputStreamWriter(conn.getOutputStream(), "utf-8");
    			// out.flush();
    			// out.close(); // 关闭流
    
    			// 获取返回数据
    			BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
    			String line = null;
    			StringBuffer sb = new StringBuffer();
    			while ((line = in.readLine()) != null) {
    				sb.append(line);
    			}
    			in.close(); // 关闭流
    			return sb.toString();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return "";
    	}
    
    	public static void main(String[] args) {
    		String urlAddress = "http://server.arcgisonline.com/arcgis/services?

    wsdl"; // 返回的数据,如xml或json等数据 System.out.println("————————GET————————"); System.out.println(getData(urlAddress, "utf-8")); // GET 方式 System.out.println("————————POST————————"); System.out.println(postData(urlAddress, "utf-8")); // POST 方式 } }





  • 相关阅读:
    php目录递归删除
    php嵌套数据
    HTML 标签
    枚举 递归
    传值传址 结构体
    去超市选择要购买的商品 将数组放入集合
    函数
    集合 ArrayList 类
    特殊集合 Stack Queue Hashtable
    二维数组,多维数组
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7112715.html
Copyright © 2011-2022 走看看