工行銀企直連簽名報文亂碼

zhaoshuhong發表於2022-05-27

工行銀企直連結算類簽名沒有提示問題,但支付時卻報錯,經查簽名日誌,發現NC Client接收的報文中文為亂碼,如下:

<RecAccNameCN>閲忕講欖?</RecAccNameCN>

<PostScript>鏈爮涓洪檮璦?</PostScript>

<Summary>鏈爮涓烘憳瑕?</Summary>


原理由高人去講解,我直接上解決方案,使用可轉碼的OutputStreamWriter,不使用PrintWriter。

程式碼:

           URL realUrl = new URL(url);

            URLConnection connect= realUrl.openConnection();

            connect.setRequestProperty("connection", "Keep-Alive");

            connect.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

            connect.setRequestProperty("Content-Type", "INFOSEC_SIGN/1.0");

            connect.setRequestProperty("Content-Length", String.valueOf(param.length()));

            connect.setDoOutput(true);

            connect.setDoInput(true);

             

            //請求包轉碼後傳送

            outStream = new OutputStreamWriter(connect.getOutputStream(), "GBK"); 

            outStream.write(param);

   

再次執行正確。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9859323/viewspace-2897613/,如需轉載,請註明出處,否則將追究法律責任。

相關文章