2017-04-20 154 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

谢谢,它的工作。 –