使用 PHP 的 cURL 库去抓取网页时,有时会遇到 HTTP 服务器需要进行身份验证的情况,这时候该怎么设置呢?
<?php
$url = "http://192.168.0.100:8080/JM-PLATFORM/sms/MobsetSendSMS/sysId/oa/mobileNum/{$mobile_phone}/message/{$message}";
$tmp = sys_get_temp_dir();
$cookieDump = tempnam($tmp, 'cookies');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设置存放 Cookie 的文件
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieDump);
//设置 Http 身份验证的方法,这里有多个选项可以选择,可参考 php 手册
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
//设置 用户名和密码
curl_setopt($ch, CURLOPT_USERPWD,'User:Password');
$output = curl_exec($ch);
curl_close($ch);
echo $output;
?>