0

如果网站使用基本身份验证,如何使用 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);
?>

我究竟做错了什么?

4

1 回答 1

0

我认为您不会像 PhpMyCoder 建议的那样缺少 fwrite,只要 CURLOPT_FILE 设置了文件句柄,curl 就会写入 curl_exec 上的文件。

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

尝试添加行

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

与您的其他卷曲选项一起使用,看看是否有帮助。

于 2013-05-05T05:02:17.640 回答