2011-09-20 44 views
0

當我嘗試訪問代理後面的salesforce API時,我無法這樣做。當沒有代理一切正常。在代理之後使用PHP工具包訪問salesforce API

有沒有辦法建立與代理ID,用戶名和密碼的PHP代碼的代理詳細信息,讓我們的應用程序和Salesforce的API之間的通信。我對如何做到這一點,但不是在PHP ..

回答

2

這取決於如果您使用的是SOAP或REST API發現關於Java的幾個貼子,但PHP SoapClientcURL庫都支持代理。

對於SoapClient的,文件規定:

對於HTTP認證,登錄名和密碼選項可用於 提供信用憑證。爲了使通過代理服務器 HTTP連接選項proxy_host使用,proxy_port使用,proxy_login和 PROXY_PASSWORD也可提供。對於HTTPS客戶端證書 ,身份驗證使用local_cert和密碼短語選項。身份驗證選項中可能會提供一個 身份驗證。該 認證方法可以是SOAP_AUTHENTICATION_BASIC (默認)或SOAP_AUTHENTICATION_DIGEST。

例如,這是由某些sample code connecting to Salesforce using SOAP簡化提取物:

$soapOptions = array(); 
$soapOptions['proxy_host']  = "localhost"; 
$soapOptions['proxy_port']  = (int) 8080; // Use an integer, not a string 
$soapOptions['proxy_login'] = "username"; 
$soapOptions['proxy_password'] = "password"; 

$this->sforce = new SoapClient($wsdlPath, $soapOptions); 

對於捲曲,看看所述curl_setopt文檔,其具有用於代理的幾個選項。下面是一些sample code connecting to Salesforce using REST簡化提取物:

$ch = curl_init(); 
... 
curl_setopt($ch, CURLOPT_PROXY, "localhost"); 
curl_setopt($ch, CURLOPT_PROXYPORT, 8080); 
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "username:password"); 

$chResponse = curl_exec($ch);