2017-04-20 104 views
0

文檔說是這樣的:PHP捲曲認證

curl —X POST -c cookies.txt —d "login=demo&password=demo42" https://www.myadcash.com/console/login_proxy.php 

輸出將是:

{"token":"6333531373034343433623663646836383165693937383167373264323334663"} 

我當前的代碼

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("login"=>"demo","password"=>"demo42")); 

curl_setopt($ch,CURLOPT_URL,"https://www.myadcash.com/console/login_proxy.php"); 
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . 'cookies.txt'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch); 
curl_close($ch); 
echo $response; 

沒有JSON響應顯示。儘管文本文件正在保存。請幫助我找到正確的方向。如果代碼中有任何錯誤,請告訴我。

回答

1

-d "login=demo&password=demo42"意味着數據字段,這就是爲什麼通過郵政領域不是標題。

因此這兩條線在你的捲曲

curl_setopt($ch, CURLOPT_POST, 1); //Optional 
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=demo&password=demo42"); 

而且你必須得到輸出。 在文檔的基礎上,憑證必須是郵政領域而不是標題,這就是爲什麼不需要在標題上放置0​​和password

你不需要

curl_setopt($ch, CURLOPT_HTTPHEADER, array("login"=>"demo","password"=>"demo42")); 
+0

謝謝,它的工作。 –