java -- HttpURLConnection网络交互

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;

 /**
 * @author zhengshijun
 * @date 2014-7-1 上午10:14:39
 */
public class HttpURL {
	public String execute(String uri,Map<String,Object> pareams) throws Exception{
		String result = null;
		URL url = new URL(uri);
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setRequestMethod("POST");   //设置提交方法
		conn.setConnectTimeout(10000);   //连接超时 单位毫秒
		conn.setReadTimeout(2000);//读取超时 单位毫秒
		conn.setDoOutput(true);// 是否输入参数
		StringBuffer params = new StringBuffer();
		for(String key:pareams.keySet()){
			params.append(key).append(pareams.get(key)).append("&");
		}
		params.deleteCharAt(params.length()-1);
		byte[] bypes = params.toString().getBytes();
		conn.getOutputStream().write(bypes);// 输入参数
		InputStream in=conn.getInputStream();
		
		//读取1
		byte[] b = new byte[in.available()];
        int len ;
        while((len=in.read(b,0,b.length))!=-1){
        	in.read(b,0,len);
        }
        
        //读取2
        in.read(b);
        result = new String(b,"GBK");
        
        //读取3
        int leng = 0;  
        int temp=0;          //所有读取的内容都使用temp接收  
        while((temp=in.read())!=-1){    //当没有读取完时,继续读取  
            b[leng]=(byte)temp;  
            leng++;  
        }  
        in.close(); 
        result = new String(b,0,leng);
        
		return result;
	}

}

 

你可能感兴趣的:(java -- HttpURLConnection网络交互)