Php 处理使用curl发送的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'); $

我目前正试图在服务器端实现oAuth,以便为开发人员提供API。我遇到了一个很容易的问题。我希望能够处理发送到名为request.php的脚本的HTTP头

我不知道我该怎么做。我正在为客户端编写一个包装器,并尝试使用curl对request.php进行http调用

    $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?