使用curl查询数据

时间:2014-07-27 09:34:49

标签: php curl

为什么它不能正常工作,为什么 - 我不明白。代码从curl中获取响应并查看(必须查看)此响应字中的是,如果找到 - 显示文本 - 如果没有,则显示另一个。代码:

    <?PHP 
// CURL
$ch = curl_init('http://dev.local/phpwhois-4.2.2/example.php?query=domain.ru&output=object');
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0");
curl_setopt  ($ch, CURLOPT_HEADER, false);
$curl = curl_exec($ch); 
echo $curl;
curl_close($ch);

if(preg_match('~\s*yes\s*~u', $curl))
  echo 'Ok';
else
  echo 'Else text';
?>

错误奇怪,更确切地说,它不完全存在,但是 - 如果curl发送文本是,那不起作用,然后写其他,如果它不提供文本 - 也是。如果简单地给curl自己的所有文本放入变量就可以了。

是什么让剧本卷曲了?(这个答案写得还有什么):

  

regrinfo-&gt;数组免责声明 - &gt;数组0-&gt;通过向RIPN提交查询&#39; s   Whois服务1-&gt;您同意遵守以下使用条款:   2-&gt;#3.2(俄文)   3-#3.2(英文)。   domain-&gt;数组名称 - &gt; hashcode.ru nserver-&gt;数组   ns1.nameself.com-&gt; 81.176.95.18 ns2.nameself.com-&gt; 88.212.207.45   status-&gt; REGISTERED,DELEGATED,VERIFIED created-&gt; 2010-11-05   expires-&gt; 2014-11-05 source-&gt; TCI registered-&gt; yes regyinfo-&gt;数组   referrer-&GT;处长─&GT; RUCENTER-REG-RIPN   servers-&gt; Array 0-&gt; Array server-&gt; ru.whois-servers.net   args-&gt; hashcode.ru port-&gt; 43 type-&gt; domain rawdata-&gt; Array 0-&gt;%By   向RIPN的Whois服务提交查询1&gt;%您同意遵守   以下使用条款:2->%    (俄语)3->%    (用英语讲)。 4-&GT;   5->域:6-> nserver :. 7-&GT; n服务器:   。 8-&gt; state:REGISTERED,DELEGATED,VERIFIED   9->人:私人10-&gt;注册商:REGTIME-REG-RIPN   11-&gt; admin-contact:12-&gt; created:2010.11.05   13-&gt;付款:2014.11.05 14-&gt; free-date:2014.12.06 15-&gt;来源:TCI   16-&GT; 17-&gt;最后更新于2014.07.27 12:31:31 MSK 18-&gt;

1 个答案:

答案 0 :(得分:0)

您忘记设置标记return transfer

<?PHP 
// CURL
$ch = curl_init('http://dev.local/phpwhois-4.2.2/example.php?query=domain.ru&output=object');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$curl = curl_exec($ch); 
echo $curl;
curl_close($ch);

if(preg_match('~\s*yes\s*~u', $curl))
  echo 'Ok';
else
  echo 'Else text';
?>

还要注意将来的超时。祝好运。