自己專案的HttpGet請求另一個專案裡的方法
static public String SMSsend(String SignName, String TemplateCode,String UserName,String Mobile,String Content) throws Exception {
String url = "";
String content0= Content;url ="http://wechat.tagen-pm.com/property-wechat-service/sms/tagensmstest/"+SignName+"/"+TemplateCode+"/"+UserName+"/"+Mobile+"/"+content0+"";
logger.warn(url+"代註冊簡訊傳送 mobileNo:" + Mobile + " msg: " + content0);
/* String result = "";
try {
URL U = new URL(url);
URLConnection connection = U.openConnection();
connection.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
in.close();
} catch (Exception e) {
throw e;
}
if (result.indexOf("1") != 0) {
logger.error("系統異常,簡訊傳送失敗 " + Mobile);
}
return result;*/
// 配置請求資訊(請求時間)
RequestConfig rc = RequestConfig.custom().setSocketTimeout(5000)
.setConnectTimeout(5000).build();
// 獲取使用DefaultHttpClient物件
CloseableHttpClient httpclient = HttpClients.createDefault();
// 返回結果
String result = null;
try {
if (url != null) {
// 建立HttpGet物件,將URL通過構造方法傳入HttpGet物件
HttpGet httpget = new HttpGet(url);
// 將配置好請求資訊附加到http請求中
httpget.setConfig(rc);
// 執行DefaultHttpClient物件的execute方法傳送GET請求,通過CloseableHttpResponse介面的例項,可以獲取伺服器返回的資訊
CloseableHttpResponse response = httpclient.execute(httpget);
try {
// 得到返回物件
HttpEntity entity = response.getEntity();
if (entity != null) {
// 獲取返回結果
result = EntityUtils.toString(entity);
}
} finally {
// 關閉到客戶端的連線
response.close();
}
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
// 關閉http請求
httpclient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
另一個專案裡的SendSmsController:
@RequestMapping("/sms")
@Controller
public class SendSmsController {
@Autowired
private SendMsgService sendMsgService;
/**
* 獲取登入使用者IP地址
*
* @param request
* @return
*/
public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
if (ip.equals("0:0:0:0:0:0:0:1")) {
ip = "本地";
}
return ip;
}
@RequestMapping(value="/sms/{SignName}/{TemplateCode}/{UserName}/{Mobile}/{Content}")
public boolean SendSms(HttpServletRequest request,@PathVariable String SignName,@PathVariable String TemplateCode,@PathVariable String UserName,@PathVariable String Mobile,@PathVariable String Content){
String ip= getIpAddr(request);
Sms sms1 = new Sms();
AliyunSms aliyunsms1=new AliyunSms();
aliyunsms1.setName(SignName);
aliyunsms1.setName(TemplateCode);
aliyunsms1.setName(UserName);
aliyunsms1.setNum(Mobile);
aliyunsms1.setContent( Content);
sendMsgService.addMessageCode(Mobile, "", Content, TemplateCode, ip);
boolean k=sms1.AliyunSend(aliyunsms1);
if(k){sendMsgService.updateCode(Mobile);}
return k;
}
@RequestMapping(value="/tagensmstest/{SignName}/{TemplateCode}/{UserName}/{Mobile}/{Content}")
public String SendSmstest(HttpServletRequest request,@PathVariable String SignName,@PathVariable String TemplateCode,@PathVariable String UserName,@PathVariable String Mobile,@PathVariable String Content){
String ip= getIpAddr(request);
Sms sms1 = new Sms();
AliyunSms aliyunsms1=new AliyunSms();
aliyunsms1.setName(SignName);
aliyunsms1.setName(TemplateCode);
aliyunsms1.setName(UserName);
aliyunsms1.setNum(Mobile);
aliyunsms1.setContent( Content);
sendMsgService.addMessageCode(Mobile, "", Content, TemplateCode, ip);
boolean k=sms1.AliyunSend(aliyunsms1);
String result="";
if(k){
sendMsgService.updateCode(Mobile);
result= "redirect:/sms/smssucess";
}else{
result= "redirect:/sms/smsfalse";
}
return result;
}
@RequestMapping(value="/smsfalse")
public ModelAndView SendSmsfalse(HttpServletRequest request){
Map<String, Object> smsfalse = new HashMap<String, Object>();
return new ModelAndView("template/smsfalse", smsfalse);
}
@RequestMapping(value="/smssucess")
public ModelAndView SendSmssucess(){
Map<String, Object> smssucess = new HashMap<String, Object>();
return new ModelAndView("template/smssucess", smssucess);
}