2013-02-06 90 views
0

我想在我的PHP页面中传递授权令牌。 我使用的代码是如下:如何通过授权令牌在php

function getValues(){ 

    $path='webservice path'; 

    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_URL,$path); 

    curl_setopt($ch, CURLOPT_FAILONERROR,1); 

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); 

    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 

    curl_setopt($ch, CURLOPT_TIMEOUT, 60); 

    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic token_no')); 

    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: text/xml')); 

    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Access-Control-Allow-Origin: *')); 

    $retValue = curl_exec($ch); 

    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 

    curl_close($ch); 

    return $retValue; 

} 

但我不能够以包括报头。 请帮我解决这个问题。

+1

什么问题?你得到什么错误?你期望得到什么?什么是授权值('Basic token_no'会导致错误)?请提出一个问题。 –

+0

http://stackoverflow.com/questions/8753195/php-curl-header –

+0

其实我得到401错误的Web服务调用 – amrita

回答

1

您应该只设置CURLOPT_HTTPHEADER一次,包含所有标题的数组。

curl_setopt($ch, CURLOPT_HTTPHEADER, 
    array(
     'Authorization: Basic token_no', 
     'Content-type: text/xml', 
     'Access-Control-Allow-Origin: *' 
    )); 
+0

谢谢,但我试过这个及其不工作 – amrita

+0

什么是不正确的工作?记住'token_no'必须是base64编码的标记。你确定标题是你的问题吗?您可以通过向本地URL发出相同的请求并记录标头来测试是否设置了标头。 –

+0

...是使用base64编码的令牌。 – amrita