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

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

<!--视频点送: 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);
    }
}

Java发送HTTP POST请求(内容为xml格式)的更多相关文章

  1. 对于java用发送http请求,请求内容为xml格式

    import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStr ...

  2. java发送http请求,内容为xml格式&&传统URI类请求

    import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStr ...

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

    Java发HTTP POST请求(内容为xml格式) 一.POST请求 服务器地址:http://5.0.217.50:17001/VideoSend 服务器提供的是xml格式的http接口,接口定义 ...

  4. ajax数据请求4(xml格式)

    ajax数据请求4(xml格式): <!doctype html> <html> <head> <meta charset="utf-8" ...

  5. Java发送HTTP POST请求示例

    概述: http请求在所有的编程语言中几乎都是支持的,我们常用的两种为:GET,POST请求.一般情况下,发送一个GET请求都很简单,因为参数直接放在请求的URL上,所以,对于PHP这种语言,甚至只需 ...

  6. java发送http get请求的两种方式

    长话短说,废话不说 一.第一种方式,通过HttpClient方式,代码如下: public static String httpGet(String url, String charset) thro ...

  7. Java 发送http post 请求

    package com.sm.utils; import java.io.BufferedReader; import java.io.InputStreamReader; import java.i ...

  8. Soup协议-即普通post请求,内容域xml

    1.基础问题 1.1 soup-Simple Object Access Protocal简单对象访问协议 a).承载在http协议之上,http支持传输img/html/文件等,soup请求和响应域 ...

  9. java 发送get,post请求

    package wzh.Http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStr ...

随机推荐

  1. Csharp多态的实现概述

    (1)什么是多态, 多态就是一个类表现出多种不同的形态, 他的核心是子类对象作为父类对象使用 (2)怎么实现多态, 在Csharp中,可以用接口, 虚方法, 抽象类实现多态,当然,不管是这三种的那一个 ...

  2. Linux下Apache重启遇到No space left on device错误的解决方法

      解决办法:1.输入:ipcs -s 看有没有超过5个,如果有请执行下面2的命令:2.ipcs -s | perl -ane '/^0x00000000/ && `ipcrm -s ...

  3. symbolを見つけられませんの解決策

    类互相调用造成编译时找不到符号symbol 可以同时编译多个文件:

  4. VC6神迹外挂的DIY

    2014年09月05日 ⁄ 综合 ⁄ 共 8724字 ⁄ 字号 小 中 大 ⁄ 评论关闭 (一)外挂一般都能在游戏的界面中按一个热键(比如F12,HOME等),就可以呼出外挂的窗口,然后在里面进行外挂 ...

  5. 利用 onload 事件监控跨站资源

    用过 CSP 的都很郁闷,上报的只有违规的站点名,却没有具体路径.这是缺陷,还是特意的设计? 显然,CSP 是为安全定制的,里面的规范自然要严格制定,否则就会带来新的安全问题.如果支持详细路径的上报, ...

  6. codeforces 630P. Area of a Star

    题目链接 圆上n个点等距离分布, 求构成的星星的面积. 我们可以求三角形OAB的面积, ∠CAE = 1/2 ∠ COE = PI/n, 那么∠CAO = PI/2n, ∠AOB非常好求, 就是PI/ ...

  7. Decorators and Wrappers in Python

    python代码一贯以优雅,简洁著称,而有时侯反而会让人难以理解,比如说wrapper(或者说decorator),这种方式提高了代码的可重用性,使用起来更简洁方便. 举个例子,比如WebApp常用的 ...

  8. 记录.net 中的常见术语

    --Entity Framework和NHibernate --EF和NH都是一种ORM技术.就是对象关系模型映射. --NHibernate和Entity Framework 4.0优劣势争论 -- ...

  9. phome_enewsclass 数据表字段解释(栏目主表)

    字段名 类型 解释 附加说明 classid smallint(6) 栏目ID   bclassid smallint(6) 父栏目ID   classname varchar(50) 栏目名称   ...

  10. lambda表达式和闭包

    lambda表达式和闭包 熟悉的Javascript或者Ruby的同学,可能对另一个名词:闭包更加熟悉.因为一般闭包的示例代码,长得跟lambda差不多,导致我也在以前很长一段时间对这两个概念傻傻分不 ...