????????????????????????????????????????????????????????????????????????Щ???????????????????????????????????????????????????????????????
????????????2???????
1 public class HttpSMSSender {
2
3     protected final Logger logger = LoggerFactory.getLogger(getClass());
4
5     // ????????
6     private String postUrl = "http://ip:port/webservice.asmx";
7     @Autowired
8     private AppVars vars;
9
10
11     private String sname = "username"; // ?????
12     private String spwd = "password"; // ???????????
13
14
15
16     private String spnumber = ""; // ???????????????????
17     private String key = "?????????";
18
19     @Deprecated
20     String sdst; // ???????????????1??????
21     @Deprecated
22     String smsg; // ????????????70????????????????????????
23
24     /**
25      * @param phoneNum
26      *            ???????
27      * @param msg
28      *            ????????
29      * @return ???????0
30      */
31     public static void main(String[] args) {
32         HttpSMSSender sms = new HttpSMSSender();
33         // String msg = "???????" + vars2.websiteNameCn
34         // + "?????????п???β??0908)?????90???????????????????????????289002????????????????????綽"
35         // + vars2.servicePhone;
36         String msg = "?????????????????????" + "?????????????????989887????????";
37         sms.send("186****5286"?? msg);
38     }
39
40     public int send(String phoneNum?? String msg) {
41         StringBuilder postData = new StringBuilder();
42
43         try {
44
45             // sb
46             String pwdd = MD5.EncoderByMd5(sname + spwd);
47             postData.append("sn").append("=").append(sname).append("&");
48             postData.append("pwd").append("=").append(pwdd).append("&");
49             postData.append("Ext").append("=").append("").append("&");
50             postData.append("stime").append("=").append("").append("&");
51             postData.append("mobile").append("=").append(phoneNum).append("&");
52             postData.append("Rrid").append("=").append("").append("&");
53             postData.append("Content").append("=")
54                     .append(java.net.URLEncoder.encode(msg + key?? "GBK"));
55             return send(postData.toString());
56         } catch (Exception x) {
57             logger.error("??????????????"?? x);
58             return -1;
59         }
60     }
61
62     private int send(String postData) throws UnsupportedEncodingException??
63             IOException?? ParserConfigurationException?? SAXException {
64         logger.info("?????????????[{}]"?? postData);
65         HttpURLConnection conn = null;
66         try {
67             final URL url = new URL(postUrl + "?" + postData);
68             conn = (HttpURLConnection) url.openConnection();
69             conn.setRequestMethod("GET");
70             conn.connect();
71
72
73             // ????????
74             if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
75                 logger.error("???????????????");
76                 return -1;
77             }
78
79             InputStream is = conn.getInputStream();
80             ByteArrayOutputStream baos = new ByteArrayOutputStream();
81             int i = -1;
82             while ((i = is.read()) != -1) {
83                 baos.write(i);
84             }
85             logger.info("????????????????[{}]"?? baos.toString());
86             int resultCode = -1;
87
88             try {
89                 resultCode = 0;
90
91             } catch (Exception e) {
92                 resultCode = -1;
93                 // TODO: handle exception
94             }
95
96             return resultCode;
97         } finally {
98             if (conn != null) {
99                 conn.disconnect();
100             }
101         }
102     }
103
104     private int parseResultCode(InputStream is)
105             throws ParserConfigurationException?? SAXException?? IOException {
106         final Map<String?? String> map = new HashMap<String?? String>();
107         SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
108         saxParser.parse(is?? new DefaultHandler() {
109
110             private String tag = "";
111
112             public void endElement(String uri?? String localName?? String qName)
113                     throws SAXException {
114                 tag = "";
115             }
116
117             public void startElement(String uri?? String localName??
118                     String qName?? Attributes attributes) throws SAXException {
119                 tag = qName;
120             }
121
122             public void characters(char[] ch?? int start?? int length)
123                     throws SAXException {
124                 if (!tag.isEmpty()) {
125                     map.put(tag?? new String(ch?? start?? length));
126                 }
127             }
128
129         });
130         logger.info("???????????[{}]????[{}]"?? map.get("State")?? map.get("MsgState"));
131         return Integer.valueOf(map.get("State"));
132     }
133
134     public String getPostUrl() {
135         return postUrl;
136     }
137
138     public String getSname() {
139         return sname;
140     }
141
142     public String getSpwd() {
143         return spwd;
144     }
145
146     public void setPostUrl(String postUrl) {
147         this.postUrl = postUrl;
148     }
149
150     public void setSname(String sname) {
151         this.sname = sname;
152     }
153
154     public void setSpwd(String spwd) {
155         this.spwd = spwd;
156     }
157 }