http://a52071453.iteye.com/blog/1706949
<span style=""> </span><span style="">今天在給平台使用者提供http簡單介面的時候,順便寫了個調用的Java類供他參考。</span><br style=""><span style=""> 伺服器位址:http://5.0.217.50:17001/VideoSend</span><br style=""><span style=""> 伺服器提供的是xml格式的http介面,介面定義如下:</span>
<!--視頻點送: videoSend--><videoSend> <header> <sid>%s</sid> <type>service</type> </header> <service name="videoSend"> <fromNum>%s</fromNum> <toNum>%s</toNum> <!--需要接通的使用者的電話號碼 --> <videoPath>%s</videoPath> <!--視頻檔案路徑 --> <chargeNumber>%s</chargeNumber> <!--計費號碼 --> </service></videoSend><!--視頻點送返回結果: videoSendResult--><videoSend> <header> <sid>%s</sid> <type>service</type> </header> <service name="videoSendResult"> rescode>%s</rescode> <!--0000:視頻點送成功,0001:請求參數資訊錯誤, 0002:接通使用者失敗--> </service></videoSend>
對應調用端的Java代碼(只是個demo,參數都暫時寫死了)如下:
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class HttpPostTest { void testPost(String urlStr) { try { URL url = new URL(urlStr); URLConnection con = url.openConnection(); con.setDoOutput(true); con.setRequestProperty("Pragma:", "no-cache"); con.setRequestProperty("Cache-Control", "no-cache"); con.setRequestProperty("Content-Type", "text/xml"); OutputStreamWriter out = new OutputStreamWriter(con .getOutputStream()); String xmlInfo = getXmlInfo(); System.out.println("urlStr=" + urlStr); System.out.println("xmlInfo=" + xmlInfo); out.write(new String(xmlInfo.getBytes("ISO-8859-1"))); out.flush(); out.close(); BufferedReader br = new BufferedReader(new InputStreamReader(con .getInputStream())); String line = ""; for (line = br.readLine(); line != null; line = br.readLine()) { System.out.println(line); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private String getXmlInfo() { StringBuilder sb = new StringBuilder(); sb.append("<videoSend>"); sb.append(" <header>"); sb.append(" <sid>1</sid>"); sb.append(" <type>service</type>"); sb.append(" </header>"); sb.append(" <service name=\"videoSend\">"); sb.append(" <fromNum>0000021000011001</fromNum>"); sb.append(" <toNum>33647405</toNum>"); sb.append(" <videoPath>mnt/5.0.217.50/resources/80009.mov</videoPath>"); sb.append(" <chargeNumber>0000021000011001</chargeNumber>"); sb.append(" </service>"); sb.append("</videoSend>"); return sb.toString(); } public static void main(String[] args) { String url = "http://5.0.217.50:17001/VideoSend"; new HttpPostTest().testPost(url); }}
2 XML傳輸
二、用戶端代碼
通過Http Post Xml傳遞資料,用戶端一般是通過URL建立到服務端的串連,向服務端發送xml資料,然後擷取服務端的響應並進行解析: