http1 jdk版,本来不想copy别人的,但是看到正好可以对比下,就弄过来了

转载 2016年08月30日 16:34:04

http://www.cnblogs.com/linjiqin/archive/2012/05/07/2488880.html

3.Java程序

复制代码
package junit;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;

import org.junit.Test;

public class JxSendSmsTest {

    /**
     * 获得腾讯QQ在线状态
     *
     * 输入参数:QQ号码 String,默认QQ号码:8698053。返回数据:String,Y = 在线;N = 离线;E = QQ号码错误;A = 商业用户验证失败;V = 免费用户超过数量
     * @throws Exception
     */
    @Test
    public void sendSms() throws Exception {
        String qqCode = "416501600";//qq号码
        String urlString = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx";
        String xml = JxSendSmsTest.class.getClassLoader().getResource("SendInstantSms.xml").getFile();
        String xmlFile=replace(xml, "qqCodeTmp", qqCode).getPath();
        String soapActionString = "http://WebXml.com.cn/qqCheckOnline";
        URL url = new URL(urlString);
        HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
        File fileToSend = new File(xmlFile);
        byte[] buf = new byte[(int) fileToSend.length()];
        new FileInputStream(xmlFile).read(buf);
        httpConn.setRequestProperty("Content-Length", String.valueOf(buf.length));
        httpConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
        httpConn.setRequestProperty("soapActionString", soapActionString);
        httpConn.setRequestMethod("POST");
        httpConn.setDoOutput(true);
        httpConn.setDoInput(true);
        OutputStream out = httpConn.getOutputStream();
        out.write(buf);
        out.close();

        byte[] datas=readInputStream(httpConn.getInputStream());
        String result=new String(datas);
        //打印返回结果
        System.out.println("result:" + result);
    }

    /**
     * 文件内容替换
     * 
     * @param inFileName 源文件
     * @param from
     * @param to
     * @return 返回替换后文件
     * @throws IOException
     * @throws UnsupportedEncodingException
     */
    public static File replace(String inFileName, String from, String to)
            throws IOException, UnsupportedEncodingException {
        File inFile = new File(inFileName);
        BufferedReader in = new BufferedReader(new InputStreamReader(
                new FileInputStream(inFile), "utf-8"));
        File outFile = new File(inFile + ".tmp");
        PrintWriter out = new PrintWriter(new BufferedWriter(
                new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")));
        String reading;
        while ((reading = in.readLine()) != null) {
            out.println(reading.replaceAll(from, to));
        }
        out.close();
        in.close();
        //infile.delete(); //删除源文件
        //outfile.renameTo(infile); //对临时文件重命名
        return outFile;
    }
    
    /**
     * 从输入流中读取数据
     * @param inStream
     * @return
     * @throws Exception
     */
    public static byte[] readInputStream(InputStream inStream) throws Exception{
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len = 0;
        while( (len = inStream.read(buffer)) !=-1 ){
            outStream.write(buffer, 0, len);
        }
        byte[] data = outStream.toByteArray();//网页的二进制数据
        outStream.close();
        inStream.close();
        return data;
    }

}
复制代码

 4、SendInstantSms.xml文件如下,放在src目录下

复制代码
<?xml version="1.0" encoding="utf-8"?>
<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/">
  <soap:Body>
    <qqCheckOnline xmlns="http://WebXml.com.cn/">
      <qqCode>qqCodeTmp</qqCode>
    </qqCheckOnline>
  </soap:Body>
</soap:Envelope>
复制代码

setRequestProperty  设置的请求属性的信息。这个一般按规定设置就行了。

但是有时候最坑的是他说在信封里面要根据不同的业务做区分
<soap:Envelope  这里会有改变。

有时间再写池子的

战胜惰性,暗自努力

偶然看到一句很贴近生活的话:“别人都在你看不到的地方暗自努力,在你看得到的地方,他们也和你一样显得吊儿郎当,和你一样会抱怨,而只有你自己相信这些都是真的,最后也只有你一人继续不思进取。”很多句子总在不...
  • JDDXM
  • JDDXM
  • 2015年07月17日 16:33
  • 214

把不想让别人看到的应用都隐藏起来的方法

如果你想把不想让别人看到的应用都隐藏起来的话,那么接着往下看。 提示:该功能只适用于iPhone和iPod touch 步骤1:从App Store里下载免费的Picup。 步骤2:...
  • shoujic123
  • shoujic123
  • 2013年01月22日 17:27
  • 1251

不想被别人看到的杂七杂八

前言:最近学的知识都比较杂乱,而且有些都没有深入的学习,比如canvas绘图。看有些大神太厉害了。。。在这里就简单记一下今天学的内容吧,方便之后自己复习。...
  • sunyueru
  • sunyueru
  • 2017年07月19日 17:29
  • 99

图片太大加载不出来的解决方法

logcat 打印如下 Bitmap too large to be uploaded into a texture (3120x4160, max=4096x4096) 很明显,它在说图片太...
  • ouhz_rM
  • ouhz_rM
  • 2016年06月28日 15:10
  • 328

JS代码如何不被别人看到?

JS代码如何不被别人看到     js方法禁止查看源文件、防止复制、禁止右键、总结             1、锁定右键将网页中的换为如下代码即可:...
  • qq_16559905
  • qq_16559905
  • 2016年07月17日 15:48
  • 2178

tomcat启动报错后设置环境变量配置的为jdk1.7 但是用java -version查看版本却是1.8的解决方法

本机上装有jdk1.7和jdk1.8两个版本,早上突然之间用myEclipse启动项目的时候报错,错误如下: Unexpectedexception parsing XML document from...
  • XiaoZengYao
  • XiaoZengYao
  • 2017年08月16日 09:58
  • 229

cmd和图形界面同时存在,且cmd命令一直不退出,如何和cmd命令交互的问题

# -*- coding: utf-8 -*- """ Module implementing Dialogimage. """ from PyQt5.QtCore import pyqtSlot...
  • proware
  • proware
  • 2018年01月28日 21:08
  • 54

不让html中的注释给用户看到

/ * 注释 * /改成浏览器就不会下载和解释。
  • kyty
  • kyty
  • 2010年09月05日 17:28
  • 100

解决Oracle EBS出报表不可复制问题

解决Oracle EBS出报表不可复制问题        突然想到很久前同事提到,EBS做了报表不能复制。如图所示。        其中右上角字体大小可以设置 。如图所示。        废话少说,我...
  • u012025054
  • u012025054
  • 2015年09月05日 10:02
  • 1229

java环境配置为1.7jdk为什么cmd java -version查看版本是1.8

查看你的环境变量中Path的配置,确认%java_home%/bin在path值的第一个。 或者在cmd中输入echo %path%,看一下实际有效的path值是什么,其中的java配置对不对。 ...
  • kingrycn
  • kingrycn
  • 2016年05月21日 07:19
  • 3295
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:http1 jdk版,本来不想copy别人的,但是看到正好可以对比下,就弄过来了
举报原因:
原因补充:

(最多只允许输入30个字)