2016-12-07 203 views
-1

我捲曲的要求是轉換CMD捲曲到PHP捲曲

curl -X POST -H "user:myusername" -H "password:mypassword" "http://10.243.166.xx:xxxx/CGRequestHandler/Controller?msisdn=88016317521xx&vas_id=DFN0100001&trx_id=27859456800706&event_type=1&event_cost=2.44&product_name=beautytips&channel_code=SMS&content_id=&cp_id=DFNMEDIA&circle_id=DEL&opt1=DFNMEDIA&opt2=DFN0100001&opt3=-1&opt4=-1&opt5=-1&validity=1" 

其工作的罰款在Linux終端,但是當我使用PHP相同的代碼,它不工作的驗證問題我的PHP代碼

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8'); 
curl_setopt($ch, CURLOPT_POST, TRUE); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); 
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_HTTPHEADER, ['username:myusename,password:mypassword']); 
//curl_setopt($ch, CURLOPT_USERPWD, "myusername:mypassword"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_HEADER, TRUE); 
curl_setopt($ch, CURLOPT_VERBOSE, TRUE); 
$result = curl_exec($ch); 

我在做什麼錯了?請幫忙 謝謝。

+0

嗯,你已經註釋掉認證比特,'CURLOPT_USERPWD'。 – ceejayoz

+0

我也嘗試過評論代碼,但同樣的問題 – kazim

+1

什麼_exactly_是那個問題?它以什麼方式「不工作」?你是否收到任何回覆?你有沒有檢查[curl_error()](http://php.net/manual/en/function.curl-error.php)的迴應? –

回答

2

您似乎錯誤地複製標題:

curl_setopt($ch, CURLOPT_HTTPHEADER, ['username:myusename', 'password:mypassword']); 

應該

curl_setopt($ch, CURLOPT_HTTPHEADER, ['user:myusename', 'password:mypassword']); 
+0

謝謝你這麼多人(Y) – kazim

0

您的CURLOPT_HTTPHEADER選項不正確。每個頭應該是數組的一個單獨的元素。

curl_setopt($ch, CURLOPT_HTTPHEADER, ['username:myusename', 'password:mypassword']); 
+0

不工作,相同的響應認證失敗。 – kazim

+0

我以前從未見過在單獨的'username'和'password'標頭中發送的身份驗證信息,而不是使用HTTP基本身份驗證。 – Barmar

+0

但這絕對是終端中'-H'選項的PHP等價物。 – Barmar