首页 > 代码库 > 使用HttpURLConnection方式访问接口
使用HttpURLConnection方式访问接口
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;public class MobileCodeWebService { private static final String charSet = "utf-8"; /** * 生成发送的XML * @param mobileCode 手机号码 * @return XML String */ private String generateXmlString(String mobileCode){ StringBuilder sb = new StringBuilder(); sb.append("<?xml version=\"1.0\" encoding=\""+charSet+"\"?>"); sb.append("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"); sb.append("<soap:Body>"); sb.append("<getMobileCodeInfo xmlns=\"http://WebXml.com.cn/\">"); sb.append("<mobileCode>"+mobileCode+"</mobileCode>"); sb.append("<userID></userID>"); sb.append("</getMobileCodeInfo>"); sb.append("</soap:Body>"); sb.append("</soap:Envelope>"); return sb.toString(); } /** * 请求WebService并获得返回数据 */ public String rquestWS(String mobileCode){ //访问地址 String postUrl = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo"; String contentType = "text/xml; charset="+charSet; PrintWriter printWriter = null; BufferedReader reader = null; String result = ""; try { String requestXml = this.generateXmlString(mobileCode); byte[] requestByte = requestXml.getBytes(); HttpURLConnection conn = (HttpURLConnection)new URL(postUrl).openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", contentType); conn.setRequestProperty("Content-Length", requestByte.length+""); conn.setRequestProperty("user-agent", "Mozilla/5.0"); conn.setReadTimeout(5000); //超时时间 conn.setUseCaches(false); conn.setDoOutput(true); conn.setDoInput(true); printWriter = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), charSet)); printWriter.print(requestXml); printWriter.flush(); reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); while(reader.ready()){ result += reader.readLine(); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally{ try { if(reader != null){ reader.close(); } if(printWriter != null){ printWriter.close(); } } catch (IOException e) { e.printStackTrace(); } } return result; } public static void main(String[] args) { MobileCodeWebService service = new MobileCodeWebService(); System.out.println(service.rquestWS("手机号码")); }}
使用HttpURLConnection方式访问接口
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。