我有一个dvr。有些相机连接在上面。 可以通过Web浏览器从Internet访问dvr。 dvr受用户名和密码保护。 如何在不输入每次登录名和密码的情况下连接到网络服务器? 有一种方法可以在PHP中做到这一点? 我用过这个脚本
<?
$username = "xxxx";
$password = "aaaa";
$base_url = "http://myip/cgi-bin/slogin/login.py";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $base_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
print_r($info);
curl_close($ch);
?>
当我连接时,我得到了print_r的详细信息,但没有别的:
Array ( [url] => http://xx.xx.xxx.xx/cgi-bin/slogin/login.py [content_type] => text/html; charset=iso-8859-1 [http_code] => 200 [header_size] => 225 [request_size] => 121 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.823264 [namelookup_time] => 0.00104 [connect_time] => 0.120289 [pretransfer_time] => 0.120435 [size_upload] => 0 [size_download] => 1515 [speed_download] => 1840 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0.690632 [redirect_time] => 0 [certinfo] => Array ( ) )
我看到有200OK,所以我猜连接很好。但是怎么继续?我进入了服务器的网站?
答案 0 :(得分:-1)
试试这个:
$base_url = "http://" . $username . ":" . $password . "@myip/cgi-bin/slogin/login.py";
...代替curl_setopt
来电。随着uri的改变,这应该保持存在。