您的位置:首页 > 理论基础 > 计算机网络

JAVA发送http请求

2015-06-09 20:51 239 查看
package com.navinfo.util;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

import java.util.Map;

public class HttpRquester {

 /**

  * 发送HTTP请求

  *

  * @param urlString

  * @return 响映对象

  * @throws IOException

  */

 public String send(String urlString, String method,

   Map<String, String> parameters, Map<String, String> propertys)

   throws IOException {

  HttpURLConnection urlConnection = null;

  if (method.equalsIgnoreCase("GET") && parameters != null) {

   StringBuffer param = new StringBuffer();

   int i = 0;

   for (String key : parameters.keySet()) {

    if (i == 0)

     param.append("?");

    else

     param.append("&");

    param.append(key).append("=").append(parameters.get(key));

    i++;

   }

   urlString += param;

  }

  URL url = new URL(urlString);

  urlConnection = (HttpURLConnection) url.openConnection();

  urlConnection.setRequestMethod(method);

  urlConnection.setDoOutput(true);

  urlConnection.setDoInput(true);

  urlConnection.setUseCaches(false);

  urlConnection.setConnectTimeout(30000);

  urlConnection.setReadTimeout(30000);

  if (propertys != null)

   for (String key : propertys.keySet()) {

    urlConnection.addRequestProperty(key, propertys.get(key));

   }

  if (method.equalsIgnoreCase("POST") && parameters != null) {

   StringBuffer param = new StringBuffer();

   for (String key : parameters.keySet()) {

    param.append("&");

    param.append(key)

      .append("=")

      .append(new String(parameters.get(key).getBytes("GBK")));

   }

   urlConnection.getOutputStream().write(

     param.toString().getBytes("GBK"));

   urlConnection.getOutputStream().flush();

   urlConnection.getOutputStream().close();

  }

  return this.makeContent(urlString, urlConnection);

 }

 /**

  * 得到响应对象

  *

  * @param urlConnection

  * @return 响应对象

  * @throws IOException

  */

 private String makeContent(String urlString, HttpURLConnection urlConnection)

   throws IOException {

  try {

   InputStream in = urlConnection.getInputStream();

   BufferedReader bufferedReader = new BufferedReader(

     new InputStreamReader(in));

   StringBuffer temp = new StringBuffer();

   String line = null;

   while ((line = bufferedReader.readLine()) != null) {

    temp.append(line).append("\r\n");

   }

   bufferedReader.close();

   return temp.toString();

  } catch (IOException e) {

   throw e;

  } finally {

   if (urlConnection != null)

    urlConnection.disconnect();

  }

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: