Java发送HTTP POST请求(内容为xml格式)

时间:2022-12-01 13:25:15

今天在给平台用户提供http简单接口的时候,顺便写了个调用的Java类供他参考。
     服务器地址:http://5.0.217.50:17001/VideoSend

服务器提供的是xml格式的http接口,接口定义如下:

<!--视频点送: videoSend-->
Java发送HTTP POST请求(内容为xml格式)<videoSend>
Java发送HTTP POST请求(内容为xml格式)    <header>
Java发送HTTP POST请求(内容为xml格式)        <sid>%s</sid> 
Java发送HTTP POST请求(内容为xml格式)        <type>service</type> 
Java发送HTTP POST请求(内容为xml格式)    </header>
Java发送HTTP POST请求(内容为xml格式)    <service name="videoSend">
Java发送HTTP POST请求(内容为xml格式)    <fromNum>%s</fromNum>     
Java发送HTTP POST请求(内容为xml格式)    <toNum>%s</toNum>                   <!--需要接通的用户的电话号码 -->
Java发送HTTP POST请求(内容为xml格式)    <videoPath>%s</videoPath>           <!--视频文件路径 -->
Java发送HTTP POST请求(内容为xml格式)    <chargeNumber>%s</chargeNumber>     <!--计费号码 -->
Java发送HTTP POST请求(内容为xml格式)    </service>
Java发送HTTP POST请求(内容为xml格式)</videoSend>
Java发送HTTP POST请求(内容为xml格式)
Java发送HTTP POST请求(内容为xml格式)
Java发送HTTP POST请求(内容为xml格式)<!--视频点送返回结果: videoSendResult-->
Java发送HTTP POST请求(内容为xml格式)<videoSend>
Java发送HTTP POST请求(内容为xml格式)    <header>
Java发送HTTP POST请求(内容为xml格式)    <sid>%s</sid> 
Java发送HTTP POST请求(内容为xml格式)    <type>service</type> 
Java发送HTTP POST请求(内容为xml格式)    </header>
Java发送HTTP POST请求(内容为xml格式)    <service name="videoSendResult">
Java发送HTTP POST请求(内容为xml格式)    rescode>%s</rescode>                 <!--0000:视频点送成功,0001:请求参数信息错误, 0002:接通用户失败-->
Java发送HTTP POST请求(内容为xml格式)    </service>
Java发送HTTP POST请求(内容为xml格式)</videoSend>

对应调用端的Java代码(只是个demo,参数都暂时写死了)如下:

import java.io.BufferedReader;
Java发送HTTP POST请求(内容为xml格式)import java.io.IOException;
Java发送HTTP POST请求(内容为xml格式)import java.io.InputStreamReader;
Java发送HTTP POST请求(内容为xml格式)import java.io.OutputStreamWriter;
Java发送HTTP POST请求(内容为xml格式)import java.net.MalformedURLException;
Java发送HTTP POST请求(内容为xml格式)import java.net.URL;
Java发送HTTP POST请求(内容为xml格式)import java.net.URLConnection;
Java发送HTTP POST请求(内容为xml格式)
Java发送HTTP POST请求(内容为xml格式)public class HttpPostTest {
Java发送HTTP POST请求(内容为xml格式)    void testPost(String urlStr) {
Java发送HTTP POST请求(内容为xml格式)        try {
Java发送HTTP POST请求(内容为xml格式)            URL url = new URL(urlStr);
Java发送HTTP POST请求(内容为xml格式)            URLConnection con = url.openConnection();
Java发送HTTP POST请求(内容为xml格式)            con.setDoOutput(true);
Java发送HTTP POST请求(内容为xml格式)            con.setRequestProperty("Pragma:", "no-cache");
Java发送HTTP POST请求(内容为xml格式)            con.setRequestProperty("Cache-Control", "no-cache");
Java发送HTTP POST请求(内容为xml格式)            con.setRequestProperty("Content-Type", "text/xml");
Java发送HTTP POST请求(内容为xml格式)
Java发送HTTP POST请求(内容为xml格式)            OutputStreamWriter out = new OutputStreamWriter(con
Java发送HTTP POST请求(内容为xml格式)                    .getOutputStream());    
Java发送HTTP POST请求(内容为xml格式)            String xmlInfo = getXmlInfo();
Java发送HTTP POST请求(内容为xml格式)            System.out.println("urlStr=" + urlStr);
Java发送HTTP POST请求(内容为xml格式)            System.out.println("xmlInfo=" + xmlInfo);
Java发送HTTP POST请求(内容为xml格式)            out.write(new String(xmlInfo.getBytes("ISO-8859-1")));
Java发送HTTP POST请求(内容为xml格式)            out.flush();
Java发送HTTP POST请求(内容为xml格式)            out.close();
Java发送HTTP POST请求(内容为xml格式)            BufferedReader br = new BufferedReader(new InputStreamReader(con
Java发送HTTP POST请求(内容为xml格式)                    .getInputStream()));
Java发送HTTP POST请求(内容为xml格式)            String line = "";
Java发送HTTP POST请求(内容为xml格式)            for (line = br.readLine(); line != null; line = br.readLine()) {
Java发送HTTP POST请求(内容为xml格式)                System.out.println(line);
Java发送HTTP POST请求(内容为xml格式)            }
Java发送HTTP POST请求(内容为xml格式)        } catch (MalformedURLException e) {
Java发送HTTP POST请求(内容为xml格式)            e.printStackTrace();
Java发送HTTP POST请求(内容为xml格式)        } catch (IOException e) {
Java发送HTTP POST请求(内容为xml格式)            e.printStackTrace();
Java发送HTTP POST请求(内容为xml格式)        }
Java发送HTTP POST请求(内容为xml格式)    }
Java发送HTTP POST请求(内容为xml格式)
Java发送HTTP POST请求(内容为xml格式)    private String getXmlInfo() {
Java发送HTTP POST请求(内容为xml格式)        StringBuilder sb = new StringBuilder();
Java发送HTTP POST请求(内容为xml格式)        sb.append("<videoSend>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("    <header>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("        <sid>1</sid>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("        <type>service</type>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("    </header>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("    <service name=\"videoSend\">");
Java发送HTTP POST请求(内容为xml格式)        sb.append("        <fromNum>0000021000011001</fromNum>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("           <toNum>33647405</toNum>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("        <videoPath>mnt/5.0.217.50/resources/80009.mov</videoPath>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("        <chargeNumber>0000021000011001</chargeNumber>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("    </service>");
Java发送HTTP POST请求(内容为xml格式)        sb.append("</videoSend>");
Java发送HTTP POST请求(内容为xml格式)        return sb.toString();
Java发送HTTP POST请求(内容为xml格式)    }
Java发送HTTP POST请求(内容为xml格式)
Java发送HTTP POST请求(内容为xml格式)    public static void main(String[] args) {
Java发送HTTP POST请求(内容为xml格式)        String url = "http://5.0.217.50:17001/VideoSend";
Java发送HTTP POST请求(内容为xml格式)        new HttpPostTest().testPost(url);
Java发送HTTP POST请求(内容为xml格式)    }
Java发送HTTP POST请求(内容为xml格式)}