我目前正在使用Zend Framework在PHP中使用REST客戶端,並遇到問題。基本訪問身份驗證標頭
我目前有兩個虛擬服務,我正在測試;一個是'noauth',它不需要認證,只是返回一些JSON,另一個是'auth',它需要認證並返回更具體的JSON。包括直接從網絡訪問就沒有這個問題,例如導航到「https://example.org/example/dummy/noauth」顯示JSON上的網頁和「https://example.org/example/dummy/auth」顯示一個對話框,要求用戶登錄。
我的目標是能夠從我的主Web應用程序訪問這些不同的服務。首先需要用戶登錄到此Web應用程序。然後他們將能夠從該Web應用程序調用不同的服務。我能得到NOAUTH很容易的工作使用這個:
$base_url = 'https://example.org';
$client = new Zend_Rest_Client($base_url);
$endpoint = '/example/dummy/noauth';
$response = $client->restGet($endpoint);
但我無法得到「權威性」一個工作沒有它要求每次用戶的用戶名和密碼。目前,我爲此使用硬編碼值,但最終它將是用戶登錄時存儲在會話中的值。下面是一些我嘗試過的事情:
$user = base64_encode('username:password');
$client->setHeaders('Authorization: Basic '.$user);
而且也:
$client = new Zend_Http_Client();
$client->setAuth('username', 'password', Zend_Http_Client::AUTH_BASIC);
這些都不似乎工作。有沒有人有任何想法如何實現我所需要的?
可能重複[可能使用Zend \ _Http \ _Client()和Zend \ _Rest \ _Client()一起](http://stackoverflow.com/questions/23342224/possible-to-use-zend-http-客戶端和Zend的休息,客戶一起) – user3409662