于中磊 2013-10-25 08:25 采纳率: 0%
浏览 1771

java后台请求https协议返回xml怎么解决?

我在做一个跟第三方支付对接,现在做到了查询支付结果这里,它们给的接口是异步请求他们的地址,但是他们的协议是https的,直接ajax请求没有权限。后台我又在后台请求,结果报ssl错误,我的jdk版本是1.7_11版本的,tomcat5.5的,请求地址是https://payment.dinpay.com/MQueryOrder.do 返回一段xml,求高手帮我在后台请求这个地址,然后把这个xml以字符串的形式返回,非常感谢

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-03-19 19:03
    关注

    该回答引用ChatGPT

    您可以使用Java中的HttpURLConnection来创建HTTPS连接并请求XML数据。以下是一个示例代码:

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.URL;
    import javax.net.ssl.HttpsURLConnection;
    
    public class HttpsRequest {
        public static void main(String[] args) throws Exception {
            String url = "https://payment.dinpay.com/MQueryOrder.do";
            URL obj = new URL(url);
            HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
            con.setRequestMethod("POST");
            con.setRequestProperty("User-Agent", "Mozilla/5.0");
    
            // 设置请求参数,例如订单号和商户号
            String data = "merchant_code=YOUR_MERCHANT_CODE&order_no=YOUR_ORDER_NO";
    
            // 发送POST请求
            con.setDoOutput(true);
            con.getOutputStream().write(data.getBytes("UTF-8"));
    
            // 获取响应数据
            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
    
            // 将响应数据以字符串形式返回
            String responseStr = response.toString();
            System.out.println(responseStr);
        }
    }
    

    您需要替换其中的YOUR_MERCHANT_CODE和YOUR_ORDER_NO为您自己的商户号和订单号。此外,您还需要使用证书来验证HTTPS连接。如果您不知道如何使用证书,请参考Java文档或咨询您的第三方支付提供商。

    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了
  • ¥30 截图中的mathematics程序转换成matlab