You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Postman中正常调用的Java WebService请求导出为curl命令用于PHP

如何从Postman导出curl命令并转换为PHP cURL代码

当然可以!Postman本身就自带导出curl命令的功能,而且转换为PHP cURL代码也很简单,我给你一步步讲:

第一步:从Postman导出curl命令

  1. 打开你那个已经测试成功的POST请求
  2. 找到右上角的「代码」按钮(就是那个尖括号</>的图标),点击它
  3. 在弹出的代码生成窗口里,左侧列表选择「cURL」,右边就会自动生成对应的curl命令,直接复制下来就行

第二步:把curl命令转换成PHP cURL代码

你可以选择手动转换,或者用一些在线工具(不过手动转换更可控,避免踩坑)。举个例子,假设你导出的curl命令是这样的:

curl --location 'https://your-webservice-url.com/soap-endpoint' \
--header 'Content-Type: text/xml; charset=utf-8' \
--header 'SOAPAction: "http://your-service-namespace/insertRecord"' \
--data-raw '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:your="http://your-service-namespace/">
   <soapenv:Header/>
   <soapenv:Body>
      <your:insertRecord>
         <your:id>123</your:id>
         <your:name>Test</your:name>
      </your:insertRecord>
   </soapenv:Body>
</soapenv:Envelope>'

对应的PHP cURL代码可以写成这样:

<?php
// 初始化cURL会话
$curl = curl_init();

// 设置核心请求参数
curl_setopt_array($curl, [
    CURLOPT_URL => 'https://your-webservice-url.com/soap-endpoint',
    CURLOPT_RETURNTRANSFER => true, // 让cURL返回响应内容而不是直接输出
    CURLOPT_ENCODING => '', // 启用所有支持的编码格式
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST', // 指定POST请求
    // 设置请求体(和Postman里的raw数据完全一致)
    CURLOPT_POSTFIELDS => '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:your="http://your-service-namespace/">
   <soapenv:Header/>
   <soapenv:Body>
      <your:insertRecord>
         <your:id>123</your:id>
         <your:name>Test</your:name>
      </your:insertRecord>
   </soapenv:Body>
</soapenv:Envelope>',
    // 设置请求头(对应Postman里的Headers)
    CURLOPT_HTTPHEADER => [
        'Content-Type: text/xml; charset=utf-8',
        'SOAPAction: "http://your-service-namespace/insertRecord"'
    ],
]);

// 执行请求并获取响应
$response = curl_exec($curl);
// 检查请求是否出错
$err = curl_error($curl);

// 关闭会话
curl_close($curl);

// 处理结果
if ($err) {
    echo "cURL Error #:" . $err;
} else {
    // 这里可以根据需要解析XML响应,比如用SimpleXML或者DOMDocument
    echo $response;
}
?>

几个需要注意的点:

  • 确保你的PHP服务器已经启用了cURL扩展,可以通过phpinfo()查看是否有cURL相关的信息
  • 如果是HTTPS请求,遇到证书验证失败的问题,临时可以加CURLOPT_SSL_VERIFYPEER => false和CURLOPT_SSL_VERIFYHOST => false,但生产环境一定要换成合法的CA证书配置,不要一直用这个选项
  • 请求体的XML结构、命名空间、SOAPAction头一定要和Postman里的完全一致,不然可能会被WebService拒绝

内容的提问来源于stack exchange,提问作者Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:31:58