首页 > Web开发 > 详细

httpclient_1

时间:2014-12-17 17:43:26      阅读:348      评论:0      收藏:0      [点我收藏+]

用到的jar:commons-codec-1.6.jar、commons-httpclient-3.0.jar、commons-logging-1.1.3.jar

 

package com.httpclient;

import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class TT {
    public static void main(String[] args) {
        TT dp = new TT();
        System.out.println(dp.getPack("1039", "1003"));
    }
    public String getPack(String grade,String subject) {
        TreeMap<String,String> map=new TreeMap<String,String>();
        map.put("commandid", "guestpacklist");
        map.put("grade", grade);
        map.put("subject", subject);
        NameValuePair[] data = new NameValuePair[addSigned(map).keySet().size()]; 
        Iterator it = map.entrySet().iterator(); 
        int i = 0; 
        while (it.hasNext()) { 
            Map.Entry entry = (Map.Entry) it.next(); 
            Object key = entry.getKey(); 
            Object value = entry.getValue(); 
            data[i] = new NameValuePair(key.toString(), value.toString()); 
            i++; 
        }
        HttpClient client = new HttpClient();
        PostMethod post = new PostMethod("http://api.xxx.hk/api/android/");
       post.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
        post.setRequestBody(data);
        try {
            client.executeMethod(post);
          return post.getResponseBodyAsString();
           
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
           post.releaseConnection();
        }
        return "nothing response!maybe can`t connect to the host!";
    }

    public static TreeMap<String, String> addSigned(
            TreeMap<String, String> parmas) {
        // 前面参数(TreeMap),组合后再拼上key,最后一起加密为signed参数。最后返回之前的参数和signed

       String signed = "";
        Set<String> key = parmas.keySet();
        for (Iterator it = key.iterator(); it.hasNext();) {
            String s = (String) it.next();
            // P.systemOut(s + " -> ");
            // P.systemOut(parmas.get(s));
            signed += s + parmas.get(s);
        }
        signed += "abcde123abcde123abcde123abcde123a";
        parmas.put("signed", JT_MD5.encodeString(signed.getBytes()));

        return parmas;
    }
}

httpclient_1

原文:http://www.cnblogs.com/stay-sober/p/4169698.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!