我正在用PHP构建一个REST Web服务客户端,此刻我正在使用curl来向该服务发出请求。
如何使用curl发出经过身份验证的请求(http基本)?我必须自己添加标题吗?
你要这个:
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
Zend有一个REST客户端和zend_http_client,我敢肯定PEAR有某种包装。但是它很容易自己完成。
因此,整个请求可能如下所示:
$ch = curl_init($host); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml', $additionalHeaders)); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $payloadName); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $return = curl_exec($ch); curl_close($ch);