将Linux Curl转换为PHP

我一直试图整个星期尝试使用PHPcurl启用连接到我的Web服务,但是,我不能使它的工作,所以我尝试使用命令行curl,令我惊讶..它的工作。

这里是我使用linux curl的命令:

curl -k -i -H "Content-type: application/x-www-form-urlencoded" -c cookies.txt -X POST https://<host>/appserver/j_spring_security_check -d "j_username=admin&j_password=demoserver"

你如何将其转换为PHP代码?

PS。 我是一个新手,刚刚暴露在PHP不到一个月的实证,原谅我! :d

你问了下面的linux终端curl命令如何与PHP curl的选项相关:

curl -k -i -H "Content-type: application/x-www-form-urlencoded" -c cookies.txt -X POST https://192.168.100.100:444/appserver/j_spring_security_chec‌​k -d "j_username=admin&j_password=demoserver"

以下是以上选项/标志的列表:

  • -k = CURLOPT_SSL_VERIFYPEER:false
  • -i = CURLOPT_HEADER:true
  • -H = CURLOPT_HTTPHEADER
  • -c = CURLOPT_COOKIEJAR + CURLOPT_COOKIEFILE
  • -X POST = CURLOPT_POST:true
  • -d = CURLOPT_POSTFIELDS

这将导致完全如下:

 <?php $ch = curl_init(); $url = "https://192.168.100.100:444/appserver/j_spring_security_chec‌​k"; $postData = 'j_username=admin&j_password=demoserver'; curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POST, 1); // -X curl_setopt($ch, CURLOPT_POSTFIELDS,$postData); // -d curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'application/x-www-form-urlencoded' )); // -H curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); // -c curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); // -c curl_setopt($ch, CURLOPT_HEADER, true); // -i curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // -k curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // see comment echo curl_exec ($ch); curl_close ($ch); 

我希望这可以帮助你。