HttpClient实现JAVA项目之间请求

本文介绍了一种通过Java实现的HTTP Post请求方法,该方法能够处理key-value格式的参数,并详细展示了如何设置请求参数、执行请求及处理响应数据的过程。

一、项目一(发送端)

/** 
     * post请求(用于key-value格式的参数) 
     * @author zyi
     * @param url 
     * @param params 
     * @return 
     */ 
	@SuppressWarnings({ "resource", "deprecation" })
	public static String httpClientPost(String url,Map<String,String> params){
		System.out.println("-------->请求路径:"+url);
		BufferedReader in = null;    
        try {    
            // 定义HttpClient    
            HttpClient client = new DefaultHttpClient();    
            // 实例化HTTP方法    
            HttpPost request = new HttpPost();    
            request.setURI(new URI(url));  
              
            //设置参数  
            List<NameValuePair> nvps = new ArrayList<NameValuePair>();   
            for (Iterator<String> iter = params.keySet().iterator(); iter.hasNext();) {  
                String name = (String) iter.next();  
                String value = String.valueOf(params.get(name));  
                nvps.add(new BasicNameValuePair(name, value));                 
                System.out.println("-------->传递参数"+name +":"+value);  
            }           
            request.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8));  
            
            HttpResponse response = client.execute(request);    
            int code = response.getStatusLine().getStatusCode();  
            if(code == 200){//请求成功
                in = new BufferedReader(new InputStreamReader(response.getEntity().getContent(),"utf-8"));  
                StringBuffer sb = new StringBuffer("");    
                String line = "";    
                String NL = System.getProperty("line.separator");//换行符,平台无关性
                while ((line = in.readLine()) != null) {    
                    sb.append(line + NL);    
                }                  
                in.close();                 
                return sb.toString();  
            }  
            else{
                System.out.println("请求失败,且状态码为:" + code);  
                return ""+code;  
            }  
        }  
        catch(Exception e){  
            e.printStackTrace();                
            return null;  
        }
	}

项目二(接收端)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值