簡體   English   中英

Webtrends API身份驗證PHP

[英]Webtrends API authentication PHP

我正在嘗試使用PHP連接到Webtrend的API,但無法進行身份驗證。

WT文檔中給出的示例適用於.NET或Ruby,.Net示例如下所示:

var svc = new WebClient();
        svc.Credentials = new NetworkCredential("yourWebTrendsAccount\WebTrendsUserName", "yourSuperSecretPassword");
        svc.DownloadStringCompleted += svc_DownloadStringCompleted;
        svc.DownloadStringAsync(new Uri(baseUri));

我不熟悉.NET,但在PHP上是否有類似的WebClient類?

我一直在嘗試使用CURL進行身份驗證

username = "my_account_name/my_login_name" 
password = "my_password" 

但到目前為止還沒有運氣。 我收到一條錯誤消息,指出參數不正確。

更新:添加代碼

    $username=urlencode('my_account_name\my_login_name');
    $password="my_password";


    $postdata="username=$username&password=$password";

    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL,"https://ws.webtrends.com/v2/ReportService/profiles/XXXXXXXX/reports/XXXXXXXX/?totals=all&period=2011w14&format=xml");
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
    curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
    curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
    curl_setopt ($ch, CURLOPT_POST, 1);
    $result = curl_exec ($ch);
    curl_close($ch);
    var_dump($result);

我也試過了

curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

但到目前為止沒有運氣。

我認為你必須使用CURLOPT_USERPWD而不是postdata:

$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, 'https://ws.webtrends.com/v2/ReportService/profiles/XXXXXXXX/reports/XXXXXXXX/?totals=all&period=2011w14&format=xml');
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($connection, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt(CURLOPT_USERPWD, sprinf('%s:%s', $username, $password))
$data = curl_exec();
curl_close($ch); 

@Kevin Horst提供了一個使用curl和PHP執行基本身份驗證請求的好例子。 我經常需要通過命令行執行此操作。 為此,您需要在系統上安裝curl。

 curl --user username:password \
-i https://ws.webtrends.com/v2/ReportService/profiles/XXXXXXXX/reports/XXXXXXXX/?totals=all&period=2011w14&format=xml

根據WebTrends Data Extraction API上的文檔。 它們使用基於SSL的基本身份驗證,這是RESTful身份驗證的標准。

WebTrends數據提取API

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM