如何解决将 PHP Curl 转换为 nodeJs 请求时出现问题
我有一个旧的 PHP curl 应用程序,我正在尝试将其转换为 NodeJs 并请求。我当前的代码在 PHP 中运行良好,看起来像这样。
$myXML = '<?xml version="1.0"?>' .PHP_EOL ;
$myXML .= '<!DOCTYPE IAP_Msg SYSTEM "IAP_Msg.dtd">'.PHP_EOL;
$myXML .='<IAP_Msg>';
$myXML .='<CustomerID>VODEXIPX</CustomerID>';
$myXML .='<EchoData>';
$myXML .='<Transaction_ID>00000001</Transaction_ID>';
$myXML .='</EchoData>';
$myXML .='<IAP_Query>';
$myXML .='<DQ_CName>';
$myXML .="<QueryNumber>$number</QueryNumber>";
$myXML .='</DQ_CName>';
$myXML .='</IAP_Query>';
$myXML .='</IAP_Msg>'.PHP_EOL;
$ch = curl_init();
$headers = array("Content-Type:application/xml"); // cURL headers for file uploading
$options = array(CURLOPT_URL => 'https://www.mysecret.com/iap2',CURLOPT_SSL_VERIFYPEER => false,CURLOPT_SSL_VERIFYHOST => false,CURLOPT_HEADER => false,CURLOPT_HTTPHEADER => $headers,CURLOPT_POST => 1,CURLOPT_POSTFIELDS => $myXML,CURLOPT_RETURNTRANSFER => true,);
curl_setopt_array($ch,$options);
$output = curl_exec($ch);
当我尝试通过 nodejs 创建类似的请求并请求它在远程端失败时,它的发送方式一定有不同。
let myXML =
`<?xml version="1.0"?>
<!DOCTYPE IAP_Msg SYSTEM "IAP_Msg.dtd">
<IAP_Msg><CustomerID>VODEXIPX</CustomerID><EchoData><Transaction_ID>00000001</Transaction_ID></EchoData><IAP_Query><DQ_LNP><QueryNumber>${req.params.callednbr}</QueryNumber></DQ_LNP></IAP_Msg>`
console.log(myXML)
const options = {
url: 'https://www.mysecret.com/iap2',method: 'POST',data: myXML,headers: {
'Content-Type': 'application/xml',}
}
request(options,function(err,res,body) {
console.log(body);
});
错误信息是
502 代理错误代理错误
代理服务器收到来自上游的无效响应
服务器。
代理服务器无法处理请求
原因: 从远程服务器读取错误
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。