Php 处理使用curl发送的HTTP头
我目前正试图在服务器端实现oAuth,以便为开发人员提供API。我遇到了一个很容易的问题。我希望能够处理发送到名为request.php的脚本的HTTP头 我不知道我该怎么做。我正在为客户端编写一个包装器,并尝试使用curl对request.php进行http调用Php 处理使用curl发送的HTTP头,php,http,curl,header,http-headers,Php,Http,Curl,Header,Http Headers,我目前正试图在服务器端实现oAuth,以便为开发人员提供API。我遇到了一个很容易的问题。我希望能够处理发送到名为request.php的脚本的HTTP头 我不知道我该怎么做。我正在为客户端编写一个包装器,并尝试使用curl对request.php进行http调用 $data = array('name' => 'Foo'); $header = array('Content-type: text/plain', 'Content-length: 100'); $
$data = array('name' => 'Foo');
$header = array('Content-type: text/plain', 'Content-length: 100');
$ch = curl_init("test");
curl_setopt($ch, CURLOPT_URL, 'http://localhost/api/request.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
$res = curl_exec($ch);
$headers = curl_getinfo($ch);
curl_close($ch);
因此,在$headers中,我收到了http响应头,但我要做的是处理request.php收到的头。您应该使用
curl_setopt($s,CURLOPT_头,true)代码>
这将导致代码中的$res
将头和数据用2个CRLF分隔(按照HTTP标准的定义,总共4个字符)
HTTP响应示例
HTTP/1.0 302 Found
Content-Type: text/html; charset=UTF-8
Content-Length: 11782
Date: Tue, 13 Dec 2011 15:07:19 GMT
Server: GFE/2.0
<!DOCTYPE html>
<html>
(...)
</html>
找到HTTP/1.0 302
内容类型:text/html;字符集=UTF-8
内容长度:11782
日期:2011年12月13日星期二15:07:19 GMT
服务器:GFE/2.0
(...)
使用curl\u getinfo读取标题。
这样做不需要设置(CURLOPT_HEADER,true)
例如:
...
curl_setopt($this->ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$response = curl_exec($this->ch);
$httpCode = curl_getinfo($this->ch, CURLINFO_HTTP_CODE);
请多告诉我们一点-两条腿还是三条腿,例如,最终用户是否将授权API访问?您要实现哪种oAuth协议版本-1.0a还是2.0?