后端发HTTP请求

package com.m4g.bns.common.util.sms;

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.nio.charset.Charset;
import java.util.Map;
import java.util.Vector;

/**
* HTTP请求对象
* @author
*/

public class HttpRequester {
private String defaultContentEncoding;
public HttpRequester() {
this.defaultContentEncoding = Charset.defaultCharset().name();
}

/**
*
* 发送GET请求
* @param urlString
* URL地址
* @return 响应对象
* @throws IOException
*/

public HttpRespons sendGet(String urlString) throws IOException {
return this.send(urlString, "GET", null, null);

}

/**
*
* 发送GET请求
* @param urlString
* URL地址
* @param params
* 参数集合
* @return 响应对象
*
* @throws IOException
*/

public HttpRespons sendGet(String urlString, Map<String, String> params)

throws IOException {

return this.send(urlString, "GET", params, null);

}

/**
*
* 发送GET请求
* @param urlString
* URL地址
* @param params
* 参数集合
* @param propertys
* 请求属性
* @return 响应对象
* @throws IOException
*/

public HttpRespons sendGet(String urlString, Map<String, String> params,
Map<String, String> propertys) throws IOException {
return this.send(urlString, "GET", params, propertys);
}

/**
*
* 发送POST请求
* @param urlString
* URL地址
* @return 响应对象
* @throws IOException
*/

public HttpRespons sendPost(String urlString) throws IOException {

return this.send(urlString, "POST", null, null);

}

/**
*
* 发送POST请求
*
*
*
* @param urlString
*
* URL地址
*
* @param params
*
* 参数集合
*
* @return 响应对象
*
* @throws IOException
*/

public HttpRespons sendPost(String urlString, Map<String, String> params)

throws IOException {

return this.send(urlString, "POST", params, null);

}

/**
*
* 发送POST请求
*
*
*
* @param urlString
*
* URL地址
*
* @param params
*
* 参数集合
*
* @param propertys
*
* 请求属性
*
* @return 响应对象
*
* @throws IOException
*/

public HttpRespons sendPost(String urlString, Map<String, String> params,

Map<String, String> propertys) throws IOException {

return this.send(urlString, "POST", params, propertys);

}

/**
*
* 发送HTTP请求
*
*
*
* @param urlString
*
* @return 响映对象
*
* @throws IOException
*/

private HttpRespons 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);
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(parameters.get(key));
}
urlConnection.getOutputStream().write(param.toString().getBytes());
urlConnection.getOutputStream().flush();
urlConnection.getOutputStream().close();
}
return this.makeContent(urlString, urlConnection);
}
/**
*
* 得到响应对象
* @param urlConnection
* @return 响应对象
*
* @throws IOException
*/

private HttpRespons makeContent(String urlString,

HttpURLConnection urlConnection) throws IOException {

HttpRespons httpResponser = new HttpRespons();

try {

InputStream in = urlConnection.getInputStream();

BufferedReader bufferedReader = new BufferedReader(

new InputStreamReader(in));

httpResponser.contentCollection = new Vector<String>();

StringBuffer temp = new StringBuffer();

String line = bufferedReader.readLine();

while (line != null) {

httpResponser.contentCollection.add(line);

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

line = bufferedReader.readLine();

}

bufferedReader.close();

String ecod = urlConnection.getContentEncoding();

if (ecod == null)

ecod = this.defaultContentEncoding;

httpResponser.urlString = urlString;

httpResponser.defaultPort = urlConnection.getURL().getDefaultPort();

httpResponser.file = urlConnection.getURL().getFile();

httpResponser.host = urlConnection.getURL().getHost();

httpResponser.path = urlConnection.getURL().getPath();

httpResponser.port = urlConnection.getURL().getPort();

httpResponser.protocol = urlConnection.getURL().getProtocol();

httpResponser.query = urlConnection.getURL().getQuery();

httpResponser.ref = urlConnection.getURL().getRef();

httpResponser.userInfo = urlConnection.getURL().getUserInfo();

httpResponser.content = new String(temp.toString().getBytes(), ecod);

httpResponser.contentEncoding = ecod;

httpResponser.code = urlConnection.getResponseCode();

httpResponser.message = urlConnection.getResponseMessage();

httpResponser.contentType = urlConnection.getContentType();

httpResponser.method = urlConnection.getRequestMethod();

httpResponser.connectTimeout = urlConnection.getConnectTimeout();

httpResponser.readTimeout = urlConnection.getReadTimeout();

return httpResponser;

} catch (IOException e) {

throw e;

} finally {

if (urlConnection != null)

urlConnection.disconnect();

}

}

/**
*
* 默认的响应字符集
*/

public String getDefaultContentEncoding() {

return this.defaultContentEncoding;

}

/**
*
* 设置默认的响应字符集
*/

public void setDefaultContentEncoding(String defaultContentEncoding) {

this.defaultContentEncoding = defaultContentEncoding;

}

}

package com.m4g.bns.common.util.sms;

import java.util.Vector;

/**
* http 返回对象
* @author icafebar
*
*/
public class HttpRespons {
String urlString;
int defaultPort;
String file;
String host;
String path;
int port;
String protocol;
String query;
String ref;
String userInfo;
String contentEncoding;
String content;
String contentType;
int code;
String message;
String method;
int connectTimeout;
int readTimeout;
Vector<String> contentCollection;

public String getContent() {

return content;

}

public String getContentType() {

return contentType;

}

public int getCode() {

return code;

}

public String getMessage() {

return message;

}

public Vector<String> getContentCollection() {

return contentCollection;

}

public String getContentEncoding() {

return contentEncoding;

}

public String getMethod() {

return method;

}

public int getConnectTimeout() {

return connectTimeout;

}

public int getReadTimeout() {

return readTimeout;

}

public String getUrlString() {

return urlString;

}

public int getDefaultPort() {

return defaultPort;

}

public String getFile() {

return file;

}

public String getHost() {

return host;

}

public String getPath() {

return path;

}

public int getPort() {

return port;

}

public String getProtocol() {

return protocol;

}

public String getQuery() {

return query;

}

public String getRef() {

return ref;

}

public String getUserInfo() {

return userInfo;

}

}
package com.m4g.bns.common.util.sms;

public class Test {

public static void main(String[] args) {

try {//13761638660 如 wangji 88888
//http://www.chinaydsw.cn/smsjk/sendsms.asp?username=wangji&password=888888&mobile=13636574166&message=aaa&type=103
HttpRequester request = new HttpRequester();
HttpRespons hr = request.sendGet("http://www.chinaydsw.cn/smsjk/sendsms.asp?username=wangxin&password=886688&mobile=13636574166&message=aaa&type=103");
// System.out.println(hr.getUrlString());
// System.out.println(hr.getProtocol());
// System.out.println(hr.getHost());
// System.out.println(hr.getPort());
// System.out.println(hr.getContentEncoding());
// System.out.println(hr.getMethod());
System.out.println(hr.getContent());
} catch (Exception e) {
e.printStackTrace();
}

}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值