通过PHP执行cURL shell_exec()通过命令行

时间:2017-01-26 15:40:16

标签: php macos shell unix curl

我跑了

我终端上的cURL

注意:州= b4cf8fe7-aa68-4b25-8f9a-03a67fb420c7

curl -c session_cookies.txt "https://login.uat.site.be/openid/oauth/authorize?client_id=site&state=b4cf8fe7-aa68-4b25-8f9a-03a67fb420c7&nonce5ba13e5f-256d-425d-808b-1e05d2aa3d72&response_type=code&claims=%7B%22id_token%22%3A%7B%22http%3A%2F%2Fsite.be%2Fclaims%2Froles%22%3Anull%7D%7D" 2>/dev/null| curl -v -b session_cookies.txt -L -H "Content-Type: application/x-www-form-urlencoded" -v -d 'j_username=manager-sitelogin@gmail.com&j_password=site1' "https://login.uat.site.be/openid/login.do" 2>&1 >/dev/null | grep Location | grep code=

我得到了这个回应

< Location: https://testserver.sitenets.com/user/secure/dashboard?code=zvk495dsnq1ycLKZgN8oqfFxQogg2oql&state=b4cf8fe7-aa68-4b25-8f9a-03a67fb420c7

注意:州= b4cf8fe7-aa68-4b25-8f9a-03a67fb420c7

PHP

注意:州= b4cf8fe7-aa68-4b25-8f9a-03a67fb420c7

$cmd = 'curl -c session_cookies.txt "https://login.uat.site.be/openid/oauth/authorize?client_id=site&state=b4cf8fe7-aa68-4b25-8f9a-03a67fb420c7&nonce5ba13e5f-256d-425d-808b-1e05d2aa3d72&response_type=code&claims=%7B%22id_token%22%3A%7B%22http%3A%2F%2Fsite.be%2Fclaims%2Froles%22%3Anull%7D%7D" 2>/dev/null| curl -v -b session_cookies.txt -L -H "Content-Type: application/x-www-form-urlencoded" -v -d 'j_username=manager-sitelogin@gmail.com&j_password=site1' "https://login.uat.site.be/openid/login.do" 2>&1 >/dev/null | grep Location | grep code=';


$result = shell_exec($cmd);

dd($result); 
  

注意:州!= b4cf8fe7-aa68-4b25-8f9a-03a67fb420c7

     

注意:州= 12345678-256d-425d-808b-1e05d2aa3d72

< Location: https://testserver.sitenets.com/user/secure/dashboard?code=zvk495dsnq1ycLKZgN8oqfFxQogg2oql&state=12345678-256d-425d-808b-1e05d2aa3d72

当我运行shell_exec($ cmd)时,我的状态总是与我提交的状态不同。 这怎么可能 ?

它是否在本地计算机上缓存?我应该清楚吗?

为什么shell_exec()返回的结果与我在终端上直接执行的结果略有不同?

我甚至尝试使用exec(),结果相同。

如何继续进行调试?

我应该研究哪些方面?

我现在正在接受任何建议。

任何提示/建议/帮助都将非常感谢!

0 个答案:

没有答案