Xml curl命令在linux上运行良好,但在windows上运行失败

Xml curl命令在linux上运行良好,但在windows上运行失败,xml,linux,windows,curl,Xml,Linux,Windows,Curl,我正在用java编写一个windows应用程序,以获得一些数据矩阵。我使用的是一个curl命令,它在Linux环境下运行得非常好。然而,当我把它放在windows上时,它是完全无用的,什么也不做 我很确定问题出在xml部分。我认为另一端的解析器需要新的行来解析它。我尝试了很多方法,比如url编码、从xml文件读取xml部分、解析二进制数据,但都不起作用 这是我正在使用的curl命令 curl -s -d "<?xml version=\"1.0\" encoding=\"utf-8\"?&

我正在用java编写一个windows应用程序,以获得一些数据矩阵。我使用的是一个curl命令,它在Linux环境下运行得非常好。然而,当我把它放在windows上时,它是完全无用的,什么也不做

我很确定问题出在xml部分。我认为另一端的解析器需要新的行来解析它。我尝试了很多方法,比如url编码、从xml文件读取xml部分、解析二进制数据,但都不起作用

这是我正在使用的curl命令

curl -s -d "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<ewe mask=\"0x100\" hw_type=\"4\" br=\"BT\" release=\"5.5.0-0\">
  <probe>
    <core>
      <cam1>
        <cam1Tunings>
          <camTuningList xmlChil=\"list1\" UsedTuningId=\"1\" CamTuningVer=\"Jan  1 00:40:26\">
            <preset name=\"$FREQ MHz\" tuningId=\"1\" frequency=\"$FREQ.000M\" chSpacing=\"10\" symbolRate=\"3.154175 M\" modulation=\"256\" annex=\"1\" etrholds=\"ATSC Default\" pidThresholds=\"Default\" serviceThresholds=\"Default\" camThresholds=\"Default\" vbcThresholds=\"Default\" extractThumbs=\false\" disable=\"true\" referenceThresholds=\"[None]\"></preset>
          </camTuningList>
        </cam1Tunings>
      </cam1>
    </core>
  </probe>
</ewe>" -o output.html "http://$ADDR/probe/core/datalog.xml?"
curl-s-d”

如果不熟悉您尝试与之交互的系统,就很难调试它。不过,我有一些想法,您可以用来研究这个问题

  • 您的命令使用了
    $FREQ
    $ADDR
    ,它们似乎是shell变量。如果是这种情况,它们是否在Windows环境中设置
  • 考虑在Windows和Linux上使用,以查看发送的确切HTTP请求,并对两者进行比较。任何差异都会提示问题

  • (不幸的是,这个问题在这里基本上是离题的。)

    我通过将xml查询分离到一个.xml文件并从文件中读取查询来解决这个问题。

    谢谢您的回复。是的。我在windows环境中设置了FREQ和ADDR变量。我还使用wireshark比较了两个版本的差异,这就是我发现windows版本中缺少xml新行的原因。不幸的是,我还无法直接访问我正在尝试连接的系统。您是否尝试过将
    --显示错误
    --详细
    、和
    --跟踪
    选项设置为curl?谢谢您的建议。我将尝试使用它。