我正在用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?"
我真的很感谢在此问题上的任何帮助或建议。
答案 0 :(得分:1)
如果不熟悉要与之交互的系统,则很难调试它。但是,我有一些想法可以用来调查此问题。
$FREQ
和$ADDR
,它们似乎是shell变量。如果是这样,它们是否已在您的Windows环境中设置?(不幸的是,这个问题在这里几乎没有话题。)
答案 1 :(得分:0)
我通过将xml查询分离到.xml文件并从文件中读取查询来解决了这个问题。