无法使用 PHP Curl 调用基于浏览器的请求
Failed to call the browser based request using PHP Curl
如果我们在浏览器中调用相同的 URL,那么它会自动下载 CSV 文件。所以,我想要使用 PHP curl 将 CSV 文件保存在同一文件夹下的相同功能。但它每次都给我一个空的结果。您能否指导我了解以下代码中的错误?
$url="https://www.centrano.com/catalog_download.php?email=info@sporttema.com&password=dHB3L1FpTEg1c2pLZ29SUkdnUWcwWTFqN2RIamQx";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
$agent= "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36";
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 100000); //time out of 15 seconds
$output = curl_exec($ch);
print_r($output);
curl_close($ch);
添加以下两个 CURL 选项以使其工作:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
该页面多次重定向到同一主机,并要求会话 cookie 保持存在(因此,将它们存储在 cookie jar 中。
另外:立即更改您的 centrano.com 帐户密码! 尽管它有助于解决这个问题,但通常来说,将其设置为 public 并不是一个好主意。
如果我们在浏览器中调用相同的 URL,那么它会自动下载 CSV 文件。所以,我想要使用 PHP curl 将 CSV 文件保存在同一文件夹下的相同功能。但它每次都给我一个空的结果。您能否指导我了解以下代码中的错误?
$url="https://www.centrano.com/catalog_download.php?email=info@sporttema.com&password=dHB3L1FpTEg1c2pLZ29SUkdnUWcwWTFqN2RIamQx";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
$agent= "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36";
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 100000); //time out of 15 seconds
$output = curl_exec($ch);
print_r($output);
curl_close($ch);
添加以下两个 CURL 选项以使其工作:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
该页面多次重定向到同一主机,并要求会话 cookie 保持存在(因此,将它们存储在 cookie jar 中。
另外:立即更改您的 centrano.com 帐户密码! 尽管它有助于解决这个问题,但通常来说,将其设置为 public 并不是一个好主意。