我正在尝试检查cURL的输出。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://blablabla.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$curlresult=curl_exec ($ch);
curl_close ($ch);
if ($curlresult == "OK") {
$result = "The curl action was succeeded! (OUTPUT of curl is: ".$curlresult.")";
} else {
$result = "The curl action has FAILED! (OUTPUT of curl is: ".$curlresult.")";
}
echo $result;
?>
网址(https://blablabla.com)是一个只显示确定的网址。 所以,使用代码,我希望看到
“卷曲动作成功了!(卷曲的输出是:好的)”
但是,我得到的是:
卷曲动作失败了! (卷曲的输出是:OK)
我想我犯了一些愚蠢的错误。如何检查https://blablabla.com是否包含“确定”?
谢谢!
答案 0 :(得分:4)
您可能会在OK或其他字符之前或之后获得额外的空格。
我建议通过使用var_dump($curlresult);
或print_r($curlresult);
但另外你可以代替匹配$ curlresult仅等于“OK”,你可以测试$ curlresult是否包含“OK”。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://blablabla.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$curlresult=curl_exec ($ch);
curl_close ($ch);
if (preg_match("/OK/i", $curlresult)) {
$result = "The curl action was succeeded! (OUTPUT of curl is: ".$curlresult.")";
} else {
$result = "The curl action has FAILED! (OUTPUT of curl is: ".$curlresult.")";
}
echo $result;
?>
答案 1 :(得分:2)
你可以做到
$info = curl_getinfo($ch);
var_dump($info);
为您提供有关返回的http状态代码和连接时间等的信息。
答案 2 :(得分:1)
您应该尝试var_dump($curlresult);
看看您真正得到的内容,否则我认为使用SSL(HTTPS)可能会出现问题,以便快速解决此问题(接受任何服务器证书):
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://blablabla.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$curlresult=curl_exec ($ch);
curl_close ($ch);
if ($curlresult == "OK") {
$result = "The curl action was succeeded! (OUTPUT of curl is: ".$curlresult.")";
} else {
$result = "The curl action has FAILED! (OUTPUT of curl is: ".$curlresult.")";
}
//var_dump($curlresult);
echo $result;
?>
答案 3 :(得分:0)
请参阅此代码块:
if ($curlresult == "OK") {
$result = "The curl action was succeeded! (OUTPUT of curl is: ".$curlresult.")";
} else {
$result = "The curl action has FAILED! (OUTPUT of curl is: ".$curlresult.")";
}
假设$curlresult
是字符串,首先尝试var_dump($curlresult)
以了解从此调用返回的数据类型响应。可能是返回类型不是字符串
然后在if条件下使用该数据类型的检查。