项目结构如图所示:
1、创建一个Http的模拟请求工具类,然后写一个POST方法或者GET方法
/**
import java.io.IOException;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.SimpleHttpConnectionManager;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.*;
/**
@Version:V6.0
*/
public class HttpRequestUtil {
/**
HttpClient 模拟POST请求
//创建POST方法的实例
PostMethod postMethod = new PostMethod(url);
//设置请求头信息
postMethod.setRequestHeader("Connection", "close");
//添加参数
for (Map.Entry entry : params.entrySet()) {
postMethod.addParameter(entry.getKey(), entry.getValue());
}
//使用系统提供的默认的恢复策略,设置请求重试处理,用的是默认的重试处理:请求三次
httpClient.getParams().setBooleanParameter("http.protocol.expect-continue", false);
//接收处理结果
String result = null;
try {
//执行Http Post请求
httpClient.executeMethod(postMethod);
//返回处理结果
result = postMethod.getResponseBodyAsString();
} catch (HttpException e) {
// 发生致命的异常,可能是协议不对或者返回的内容有问题
System.out.println("请检查输入的URL!");
e.printStackTrace();
} catch (IOException e) {
// 发生网络异常
System.out.println("发生网络异常!");
e.printStackTrace();
} finally {
//释放链接
postMethod.releaseConnection();
//关闭HttpClient实例
if (httpClient != null) {
((SimpleHttpConnectionManager) httpClient.getHttpConnectionManager()).shutdown();
httpClient = null;
}
}
return result;
}
/**
HttpClient 模拟GET请求
//拼接参数
String paramStr = "";
for (String key : params.keySet()) {
paramStr = paramStr + "&" + key + "=" + params.get(key);
}
paramStr = paramStr.substring(1);
//创建GET方法的实例
GetMethod method = new GetMethod(url + "?" + paramStr);
//接收返回结果
String result = null;
try {
//执行HTTP GET方法请求
client.executeMethod(method);
//返回处理结果
result = method.getResponseBodyAsString();
} catch (HttpException e) {
// 发生致命的异常,可能是协议不对或者返回的内容有问题
System.out.println("请检查输入的URL!");
e.printStackTrace();
} catch (IOException e) {
// 发生网络异常
System.out.println("发生网络异常!");
e.printStackTrace();
} finally {
//释放链接
method.releaseConnection();
//关闭HttpClient实例
if (client != null) {
((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown();
client = null;
}
}
return result;
}
}
2、再创建一个类,生成验证码,然后传递相应的参数
/**
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
/**
@Version:V6.0
*/
public class SendMsgUtil {
/**
发送短信消息
Map params = new HashMap();
params.put("zh", "用户账号");
params.put("mm", "用户密码");
params.put("dxlbid", "短信类别编号");
params.put("extno", "扩展编号");
//手机号码,多个号码使用英文逗号进行分割
params.put("hm", phones);
//将短信内容进行URLEncoder编码
params.put("nr", URLEncoder.encode(content));
return HttpRequestUtil.getRequest(url, params);
}
/**
/**
现在是HttpRequestUtil中报如下错误:
1:
The method getParams() is undefined for the type HttpClient
2:
The method shutdown() is undefined for the type SimpleHttpConnectionManager
zhe这需要那个第三方的jar包吧
http://download.csdn.net/detail/hu1991die/8605397
可参考:
https://www.google.com.hk/search?safe=strict&q=java%E5%8F%91%E9%80%81%E7%9F%AD%E4%BF%A1%E9%AA%8C%E8%AF%81%E7%A0%81%E5%8A%9F%E8%83%BD++&oq=java%E5%8F%91%E9%80%81%E7%9F%AD%E4%BF%A1%E9%AA%8C%E8%AF%81%E7%A0%81%E5%8A%9F%E8%83%BD++&gs_l=serp.3...2556458.2556458.0.2556696.1.1.0.0.0.0.0.0..0.0....0...1c..64.serp..1.0.0.dKys2iQpl6E
http://blog.csdn.net/sxdtzhaoxinguo/article/details/34437591
http://blog.csdn.net/hu1991die/article/details/45101651
可以参考https://blog.csdn.net/zuoliangzhu/article/details/82993257