$url = 'http://example.com';
$site = curl_init($url);
curl_setopt($site, CURLOPT_RETURNTRANSFER, true);
$site = curl_exec($site);
if(FALSE){//DO SOMETHING}
我尝试使用卷曲刮页,但我需要检测如果url是失败。卷曲刮页如果失败
问题,哪个会更好?
curl or file_get_contents($ url)?
$url = 'http://example.com';
$site = curl_init($url);
curl_setopt($site, CURLOPT_RETURNTRANSFER, true);
$site = curl_exec($site);
if(FALSE){//DO SOMETHING}
我尝试使用卷曲刮页,但我需要检测如果url是失败。卷曲刮页如果失败
问题,哪个会更好?
curl or file_get_contents($ url)?
也许它更容易做到这一点,没有file_get_contents
。
$siteContent = file_get_contents("http://example.com");
if($siteContent) {
// do something
}
如果您需要更多选项或帖子,那么您必须使用卷曲。为此,您必须在您的php.ini中将选项allow_url_fopen
设置为On
。
我已经试过文件获取内容,但我想尝试不同的方法,并不确定哪个更好,什么不同 – user2178521
它更短。你不能设置这么多选项。 – Stony
cURL调用在您要发布帖子请求时更有用,或者拥有像Stony这样的更多选项 – JammyDodger231
你可以使用HTTP状态代码,以检查它是否是一个有效的响应:
$url = 'http://example.com';
$siteCurl = curl_init($url);
curl_setopt($siteCurl , CURLOPT_RETURNTRANSFER, true);
$site = curl_exec($siteCurl);
$result = curl_exec($siteCurl);
$http_status = curl_getinfo($http, CURLINFO_HTTP_CODE);
if($http_status != "200"){//DO SOMETHING}
看到这里的HTTP代码,如果你不确定:http://www.w3.org/Protocols/HTTP/HTRESP.html
开始从[这里](HTTP: //www.php.net/manual/en/function.curl-getinfo.php) – hindmost