乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Java發(fā)HTTP POST請(qǐng)求(內(nèi)容為xml格式)

       青_春 2015-12-16
      Java代碼  收藏代碼
      1. <span style=""> </span><span style="">今天在給平臺(tái)用戶(hù)提供http簡(jiǎn)單接口的時(shí)候,順便寫(xiě)了個(gè)調(diào)用的Java類(lèi)供他參考。</span><br style=""><span style="">     服務(wù)器地址:http://5.0.217.50:17001/VideoSend</span><br style=""><span style="">     服務(wù)器提供的是xml格式的http接口,接口定義如下:</span>  
      Java代碼  收藏代碼
      1. <!--視頻點(diǎn)送: videoSend-->  
      2. <videoSend>  
      3.     <header>  
      4.         <sid>%s</sid>   
      5.         <type>service</type>   
      6.     </header>  
      7.     <service name="videoSend">  
      8.     <fromNum>%s</fromNum>       
      9.     <toNum>%s</toNum>                   <!--需要接通的用戶(hù)的電話(huà)號(hào)碼 -->  
      10.     <videoPath>%s</videoPath>           <!--視頻文件路徑 -->  
      11.     <chargeNumber>%s</chargeNumber>     <!--計(jì)費(fèi)號(hào)碼 -->  
      12.     </service>  
      13. </videoSend>  
      14.   
      15.   
      16. <!--視頻點(diǎn)送返回結(jié)果: videoSendResult-->  
      17. <videoSend>  
      18.     <header>  
      19.     <sid>%s</sid>   
      20.     <type>service</type>   
      21.     </header>  
      22.     <service name="videoSendResult">  
      23.     rescode>%s</rescode>                 <!--0000:視頻點(diǎn)送成功,0001:請(qǐng)求參數(shù)信息錯(cuò)誤, 0002:接通用戶(hù)失敗-->  
      24.     </service>  
      25. </videoSend>  

      對(duì)應(yīng)調(diào)用端的Java代碼(只是個(gè)demo,參數(shù)都暫時(shí)寫(xiě)死了)如下:

      Java代碼  收藏代碼
      1. import java.io.BufferedReader;  
      2. import java.io.IOException;  
      3. import java.io.InputStreamReader;  
      4. import java.io.OutputStreamWriter;  
      5. import java.net.MalformedURLException;  
      6. import java.net.URL;  
      7. import java.net.URLConnection;  
      8.   
      9. public class HttpPostTest {  
      10.     void testPost(String urlStr) {  
      11.         try {  
      12.             URL url = new URL(urlStr);  
      13.             URLConnection con = url.openConnection();  
      14.             con.setDoOutput(true);  
      15.             con.setRequestProperty("Pragma:""no-cache");  
      16.             con.setRequestProperty("Cache-Control""no-cache");  
      17.             con.setRequestProperty("Content-Type""text/xml");  
      18.   
      19.             OutputStreamWriter out = new OutputStreamWriter(con  
      20.                     .getOutputStream());      
      21.             String xmlInfo = getXmlInfo();  
      22.             System.out.println("urlStr=" + urlStr);  
      23.             System.out.println("xmlInfo=" + xmlInfo);  
      24.             out.write(new String(xmlInfo.getBytes("ISO-8859-1")));  
      25.             out.flush();  
      26.             out.close();  
      27.             BufferedReader br = new BufferedReader(new InputStreamReader(con  
      28.                     .getInputStream()));  
      29.             String line = "";  
      30.             for (line = br.readLine(); line != null; line = br.readLine()) {  
      31.                 System.out.println(line);  
      32.             }  
      33.         } catch (MalformedURLException e) {  
      34.             e.printStackTrace();  
      35.         } catch (IOException e) {  
      36.             e.printStackTrace();  
      37.         }  
      38.     }  
      39.   
      40.     private String getXmlInfo() {  
      41.         StringBuilder sb = new StringBuilder();  
      42.         sb.append("<videoSend>");  
      43.         sb.append("    <header>");  
      44.         sb.append("        <sid>1</sid>");  
      45.         sb.append("        <type>service</type>");  
      46.         sb.append("    </header>");  
      47.         sb.append("    <service name=\"videoSend\">");  
      48.         sb.append("        <fromNum>0000021000011001</fromNum>");  
      49.         sb.append("           <toNum>33647405</toNum>");  
      50.         sb.append("        <videoPath>mnt/5.0.217.50/resources/80009.mov</videoPath>");  
      51.         sb.append("        <chargeNumber>0000021000011001</chargeNumber>");  
      52.         sb.append("    </service>");  
      53.         sb.append("</videoSend>");  
      54.         return sb.toString();  
      55.     }  
      56.   
      57.     public static void main(String[] args) {  
      58.         String url = "http://5.0.217.50:17001/VideoSend";  
      59.         new HttpPostTest().testPost(url);  
      60.     }  
      61. }  

       2 XML傳輸

      二、客戶(hù)端代碼

      通過(guò)Http Post Xml傳遞數(shù)據(jù),客戶(hù)端一般是通過(guò)URL建立到服務(wù)端的連接,向服務(wù)端發(fā)送xml數(shù)據(jù),然后獲取服務(wù)端的響應(yīng)并進(jìn)行解析:

      Java代碼
      1. String xmlString = "<?xml version='1.0' encoding='gb2312'?>"  
      2.                       + "<Req>"  
      3.                       + "<EventContentReq>"  
      4.                       + "<EventID>101</EventID >"  
      5.                       + "</EventContentReq>"  
      6.                       + "</Req>";   
      7.   
      8. byte[] xmlData = xmlString.getBytes();   
      9.   
      10. String urlStr = "http://124.128.62.164:7001/FetchTaskDataServlet";   
      11.   
      12. DataInputStream input = null;   
      13.   
      14. java.io.ByteArrayOutputStream out = null;   
      15.   
      16. try{   
      17.   
      18.        //獲得到位置服務(wù)的鏈接   
      19.   
      20.         URL url = new URL(urlStr);   
      21.   
      22.         URLConnection urlCon = url.openConnection();   
      23.   
      24.         urlCon.setDoOutput(true);   
      25.   
      26.         urlCon.setDoInput(true);   
      27.   
      28.         urlCon.setUseCaches(false);   
      29.   
      30.        //將xml數(shù)據(jù)發(fā)送到位置服務(wù)   
      31.   
      32.         urlCon.setRequestProperty("Content-Type""text/xml");   
      33.   
      34.         urlCon.setRequestProperty("Content-length",String.valueOf(xmlData.length));   
      35.   
      36.         DataOutputStream printout = new DataOutputStream(urlCon.getOutputStream());   
      37.   
      38.         printout.write(xmlData);   
      39.   
      40.         printout.flush();   
      41.   
      42.         printout.close();   
      43.   
      44.         input = new DataInputStream(urlCon.getInputStream());   
      45.   
      46.        byte[] rResult;   
      47.   
      48.         out = new java.io.ByteArrayOutputStream();   
      49.   
      50.        byte[] bufferByte = newbyte[256];   
      51.   
      52.        int l = -1;   
      53.   
      54.        int downloadSize = 0;   
      55.   
      56.        while ((l = input.read(bufferByte)) > -1) {   
      57.   
      58.             downloadSize += l;   
      59.   
      60.             out.write(bufferByte, 0, l);   
      61.   
      62.             out.flush();   
      63.   
      64.         }   
      65.   
      66.         rResult = out.toByteArray();   
      67.   
      68.         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();   
      69.   
      70.         DocumentBuilder db = dbf.newDocumentBuilder();   
      71.   
      72.         Document d = db.parse(new ByteArrayInputStream(rResult));   
      73.   
      74.         String TaskAddr = d.getElementsByTagName("TaskAddr").item(0).getFirstChild().getNodeValue();   
      75.   
      76.         System.out.println("TaskAddr:"+TaskAddr);   
      77.   
      78. }   
      79.   
      80. catch(Exception e){   
      81.   
      82.         e.printStackTrace();   
      83.   
      84. }   
      85.   
      86. finally {   
      87.   
      88.        try {   
      89.   
      90.                out.close();   
      91.   
      92.                input.close();   
      93.   
      94.         }   
      95.   
      96.        catch (Exception ex) {   
      97.   
      98.         }   
      99.   
      100. }  
      101. 三、服務(wù)端代碼

        服務(wù)端一般首先獲取客戶(hù)端發(fā)來(lái)的xml數(shù)據(jù),進(jìn)行解析,并將響應(yīng)返回給客戶(hù)端:

        Java代碼
        1. try{   
        2.   
        3. //解析對(duì)方發(fā)來(lái)的xml數(shù)據(jù),獲得EventID節(jié)點(diǎn)的值   
        4.   
        5.         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();   
        6.   
        7.         DocumentBuilder db = dbf.newDocumentBuilder();   
        8.   
        9.         Document d = db.parse(request.getInputStream());   
        10.   
        11.         String evtid = d.getElementsByTagName("EventID").item(0).getFirstChild().getNodeValue();   
        12.   
        13. //                    System.out.println("evtid" + evtid);   
        14.   
        15.        //根據(jù)evtid查找任務(wù),生成xml字符串   
        16.   
        17.         UfgovDBUtil dbUtil = new UfgovDBUtil();   
        18.   
        19.         String xmlString = dbUtil.fetchTaskData(evtid);   
        20.   
        21. //                    System.out.println("returned xmlString:" + xmlString);   
        22.   
        23.        //把xml字符串寫(xiě)入響應(yīng)   
        24.   
        25.        byte[] xmlData = xmlString.getBytes();   
        26.   
        27.         response.setContentType("text/xml");   
        28.   
        29.         response.setContentLength(xmlData.length);   
        30.   
        31.         ServletOutputStream os = response.getOutputStream();   
        32.   
        33.         os.write(xmlData);   
        34.   
        35.         os.flush();   
        36.   
        37.         os.close();   
        38.   
        39. }   
        40.   
        41. catch(Exception e){   
        42.   
        43.         e.printStackTrace();   
        44.   
        45. }  

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多