我正在尝试使用php中的curl库获取url的内容。我写了下面的代码来做这件事。即使我没有在代码中出现错误,输出中也没有打印任何内容。由于没有显示错误消息,我无法弄清楚我做错了什么。我正在尝试打印网址响应的详细信息,例如headers, body, time, size, errors
(如果有的话)。我正在使用xampp运行以下代码。
<?php
function url_get_contents($url="google.com",$useragent='cURL',$headers=false,
$follow_redirects=false,$debug=false) {
# initialise the CURL library
$ch = curl_init();
# specify the URL to be retrieved
curl_setopt($ch, CURLOPT_URL,$url);
# we want to get the contents of the URL and store it in a variable
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
# specify the useragent: this is a required courtesy to site owners
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
# ignore SSL errors
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
# return headers as requested
if ($headers==true){
curl_setopt($ch, CURLOPT_HEADER,1);
}
# only return headers
if ($headers=='headers only') {
curl_setopt($ch, CURLOPT_NOBODY ,1);
}
# follow redirects - note this is disabled by default in most PHP installs from 4.4.4 up
if ($follow_redirects==true) {
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
}
# if debugging, return an array with CURL's debug info and the URL contents
if ($debug==true) {
$result['contents']=curl_exec($ch);
$result['info']=curl_getinfo($ch);
}
# otherwise just return the contents as a variable
else $result=curl_exec($ch);
# free resources
curl_close($ch);
# send back the data
return $result;
}
?>
答案 0 :(得分:3)
您的代码运行正常。
只需调用该函数。
echo url_get_contents();
检查Curl是否已打开。
答案 1 :(得分:1)
同意上述答案。另外,如果您在浏览器中运行此操作,则可能需要查看页面的输出源。