Package com.qq.open.common

Source Code of com.qq.open.common.OpenQqUtils

package com.qq.open.common;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Properties;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.log4j.Logger;

/**
* QQ互联工具类
*   获取各个接口的URL等工具类
*
* @author HaoLiang
* @version 0.1.1
*/
public class OpenQqUtils {

  /** 日志 */
  private static Logger log = Logger.getLogger(OpenQqUtils.class);
 
  /** 资源属性 */
  private static Properties properties;
 
  static {
    properties = new Properties();
    try {
      // 读取配置文件
      properties.load(OpenQqUtils.class.getClassLoader().getResourceAsStream(OpenQqConstants.QQ_CONFIG_NAME));
    } catch (IOException e) {
      e.printStackTrace();
      log.error("读取配置文件出错,请确认kaifangfuwu.properties文件已经放到src目录下。");
    }
  }
 
 
 
  /**
   * 获取配置信息
   *
   * @param configKey
   * @return
   */
  public String getConfigValue(String configKey) {
    String configValue = null;
    configValue = properties.getProperty(configKey);
    if (null == configValue || "".equals(configValue)) {
      log.info("没有获取指定key的值,请确认资源文件中是否存在【" + configKey + "】");
    }
    return configValue;
  }
 
 
  /**
   * 链接QQ服务接口
   *
   * @param interfaceUrl
   *            接口URL
   *
   * @return 接口返回的数据
   * @throws IOException
   */
  public String doGet(String interfaceUrl) throws IOException {
    // 打印日志
    log.info("doGet:" + interfaceUrl);
   
    String interfaceData = "";
   
    // 获取默认的HttpClient
    HttpClient httpclient = new DefaultHttpClient();
   
    // 获取Get连接
    HttpGet httpGet = new HttpGet(interfaceUrl);
   
    // 请求post连接
    HttpResponse response = httpclient.execute(httpGet);
   
    // 打印日志
    log.info("doGet请求状态Code:" + response.getStatusLine().getStatusCode());
   
    // 是否请求正常
    if (200 == response.getStatusLine().getStatusCode()) {

      // 获取链接返回的数据
      HttpEntity resEntity = response.getEntity();
     
      // 获取返回的数据流
      BufferedReader input = new BufferedReader(new InputStreamReader(
          resEntity.getContent(), "UTF-8"));
      String tempStr = "";

      // 获取返回的内容
      while ((tempStr = input.readLine()) != null) {
        interfaceData += tempStr.replace("\t", "");
      }
    }
    // 关闭连接
    httpGet.abort();
   
    // 打印日志
    log.info("doGet返回的json数据:" + interfaceData);
   
    return interfaceData;
  }
 

  /**
   * 发送Post请求
   *
   * @param url 请求地址
   * @param reqEntity 请求参数
   * @return 接口返回的数据
   * @throws IOException
   */
  public String doPost(String url,MultipartEntity reqEntity) throws IOException {
    // 打印日志
    log.info("doPost:" + url);
   
    // 接口返回的json数据
    String interfaceData = "";

    // 获取默认的HttpClient
    HttpClient httpclient = new DefaultHttpClient();

    // 获取post连接
    HttpPost httpPost = new HttpPost(url);

    // 设置连接参数
    httpPost.setEntity(reqEntity);

    // 请求post连接
    HttpResponse response = httpclient.execute(httpPost);
   
    // 打印日志
    log.info("doPost请求状态Code:" + response.getStatusLine().getStatusCode());

    // 是否请求正常
    if (200 == response.getStatusLine().getStatusCode()) {

      // 获取链接返回的数据
      HttpEntity resEntity = response.getEntity();
     
      // 获取返回的数据流
      BufferedReader input = new BufferedReader(new InputStreamReader(
          resEntity.getContent(), "UTF-8"));
      String tempStr = "";

      // 获取返回的内容
      while ((tempStr = input.readLine()) != null) {
        interfaceData += tempStr.replace("\t", "");
      }
    }
    // 关闭连接
    httpPost.abort();
   
    // 打印日志
    log.info("doPost返回的json数据:" + interfaceData);
   
    return interfaceData;
  }
 
  /**
   * 判断字符串是否为null或""
   *
   * @param pStr 字符串
   * @return false 为null 或 ""  true 非空
   */
  public boolean isNotNull(String pStr) {
    return null != pStr && !"".equals(pStr);
  }
 
 
  /**
   * 把时间戳转换成指定的格式
   *
   * @return 格式后的日期字符串
   */
  public String timeStampToDate(String timeStamp) {
    SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    // php的时间戳需要补三个0才可以正常转换
    return df.format(Long.valueOf(timeStamp + "000"));     
  }
}
TOP

Related Classes of com.qq.open.common.OpenQqUtils

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.