如何使用HTTPS发送XML-RPC请求?

时间:2016-09-01 06:54:43

标签: java https xml-rpc

我是XML-RPC的新手,可能我的问题很愚蠢,但我找不到任何可以帮助我的信息...

所以这就是:我使用这个java代码通过使用HTTP的XML-RPC请求发送XML文件。

public static void sendXML(String file, String host, String port, String url) throws IOException{
    Socket socket = new Socket(host, Integer.parseInt(port));
    OutputStream out = socket.getOutputStream();
    InputStream in = socket.getInputStream();

StringBuffer header = new StringBuffer();
header.append("POST "+url+" HTTP/1.0\n");
header.append("Content-Type: text/xml\n");
header.append("Content-Length: "+(new File(file).length()+2)+"\n");
header.append("\n");

byte[] buffer = header.toString().getBytes("UTF-8");
out.write(buffer);

InputStream src = new FileInputStream(file);       
buffer = new byte[1024];
int b = 0;
while((b = src.read(buffer)) >= 0){
    out.write(buffer, 0, b);
}   

buffer = "\n\n".getBytes("UTF-8");
out.write(buffer);

out.close();
src.close();
in.close();

out.flush();
socket.close();
}

在此代码中,已经创建了XML文件,其中包含调用的方法和所有参数。 这个解决方案工作正常,但我要求它兼容HTTPS协议。

我是否只需更改行

header.append("POST "+url+" HTTP/1.0\n");

header.append("POST "+url+" HTTPS/1.0\n");

或者我应该使用Apache库https://ws.apache.org/xmlrpc/client.html

或者可能是java语言中有任何更简单的解决方案吗?

谢谢大家的帮助

0 个答案:

没有答案