Http--发送 POST 和 GET 请求(一)

package com.softAngel.hand.tools;

import java.io.IOException;
import java.net.URLDecoder;

import org.apache.commons.httpclient.HttpStatus;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;

import com.alibaba.fastjson.JSONObject;
import com.softAngel.hand.dao.CommonAPI;
import com.softAngel.hand.tools.crypt.MD5Crypter;

@Controller
public class httpMethodUtil {

private static final Logger logger = LoggerFactory.getLogger(httpMethodUtil.class);

public static void main(String args[]){
    //发送短信测试
    StringBuffer params = new StringBuffer();
    params.append("&uid=").append(CommonAPI.sms_spID);
    params.append("&pwd=").append(CommonAPI.sms_password);
    params.append("&mobile=").append("");
    params.append("&content=").append(CommonAPI.sms_content);
    params.append("&encode=").append("utf8");
    httpMethodUtil.httpPost("http://api.cnsms.cn?ac=send", params.toString(), false);
}


/**
 * post请求
 * @param url         url地址
 * @param urlParams     参数
 * @param noNeedResponse    不需要返回结果
 * @return
 */
public static String httpPost(String url,String urlParams, boolean noNeedResponse){
    //post请求返回结果
    DefaultHttpClient httpClient = new DefaultHttpClient();
    String str = null;
    url += urlParams;
    HttpPost method = new HttpPost(url);
    System.out.println("url:"+url);
    System.out.println("method:"+method);
    try {
        if (null != urlParams) {
            //解决中文乱码问题
            StringEntity entity = new StringEntity(urlParams, "utf-8");
            entity.setContentEncoding("UTF-8");
            entity.setContentType("application/json");
            method.setEntity(entity);
        }
        HttpResponse result = httpClient.execute(method);
        url = URLDecoder.decode(url, "UTF-8");
        /**请求发送成功,并得到响应**/
        if (result.getStatusLine().getStatusCode() == 200) {
            try {
                /**读取服务器返回过来的json字符串数据**/
                str = EntityUtils.toString(result.getEntity());
                if(str.equals("100")){
                    System.out.println("****  短信发送成功  ****");
                }
                if (noNeedResponse) {
                    return null;
                }
                ///**把json字符串转换成json对象**/
                //jsonResult = JSONObject.parseObject(str);
            } catch (Exception e) {
                logger.error("post请求提交失败:" + url, e);
                e.printStackTrace();
            }
        }
    } catch (IOException e) {
        logger.error("post请求提交失败:" + url, e);
    }
    return str;
}


/**
 * 发送get请求
 * @param url    路径
 * @return
 */
public static JSONObject httpGet(String url){
    //get请求返回结果
    JSONObject jsonResult = null;
    try {
        DefaultHttpClient client = new DefaultHttpClient();
        //发送get请求
        HttpGet request = new HttpGet(url);
        HttpResponse response = client.execute(request);

        /**请求发送成功,并得到响应**/
        if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            /**读取服务器返回过来的json字符串数据**/
            String strResult = EntityUtils.toString(response.getEntity());
            /**把json字符串转换成json对象**/
            jsonResult = (JSONObject) JSONObject.parse(strResult);
            url = URLDecoder.decode(url, "UTF-8");
        } else {
            logger.error("get请求提交失败:" + url);
        }
    } catch (IOException e) {
        logger.error("get请求提交失败:" + url, e);
        e.printStackTrace();
    }
    return jsonResult;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值