通过经过身份验证的URL使用PHP获取HTML源代码


Get HTML source with PHP via authenticated URL

如果网站使用基本身份验证,我如何获得PHP网站源?

<?php
$ch = curl_init("http://domain.com/password.html");
$fp = fopen("source.txt", "w");
curl_setopt($ch, CURLOPT_USERPWD, "username:password"); 
curl_setopt($ch, CURLOPT_FILE, $fp);
$output = curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

我做错了什么?

我不认为你错过了phpmyder建议的fwrite, curl写入到curl_exec上的文件,只要CURLOPT_FILE是用文件句柄设置的。

可能发生的是重定向的问题:一些基本身份验证模型将导致重定向发生,如果重定向没有任何HTML数据要传递,则可以解释您的空文件。

尝试添加

一行
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);