通过卷曲检查开机自检返回的值



我正在使用curl调用远程C# WebService。该服务返回 0 或 1,具体取决于通过检查数据库传递给它的值。当我使用echo $result值正确打印时。但是当我尝试比较输出值时,代码不起作用。请告知

$result = curl_exec($ch);
if ( $result == 0 )
{
     echo("Valid");
}
else
{
     echo("Invalid");
}

VarDump 是 --->string(103( " 0">

更新:

//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
//So that curl_exec returns the contents of the cURL; rather than echoing it
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); 

UPDATE2:C# 网络服务代码(返回类型为 int(

  try { if (dr.HasRows) { c.Close(); return 0; } else { c.Close(); return 1; } }

您的问题是您实际上从 curl 请求中获取了 XML 返回。结果的实际文本为

<?xml version="1.0" encoding="utf-8"?> 
<int xmlns="http://www.example.com/">1</int>

没有看到 XML,因为您正在打印到 HTML 环境中,并且这些标记正在被吞噬(echo htmlspecialchars($result);会让它变得明显(。您将需要解析 XML,例如使用

$xml = simplexml_load_string($result);
$result = (int)$xml;

然后,您可以使用结果值。

相关内容

  • 没有找到相关文章

最新更新