Конвертировать Linux Curl в Переполнение стека

Всю неделю я пытался включить соединение с моим веб-сервисом с помощью PHP curl, однако я не смог заставить его работать, поэтому я попробовал 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

1

Решение

Вы спросили, как следующий терминал 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: ложь
  • -я = CURLOPT_HEADER: правда
  • -H = CURLOPT_HTTPHEADER
  • -c = CURLOPT_COOKIEJAR + CURLOPT_COOKIEFILE
  • -X POST = CURLOPT_POST: правда
  • -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);

Я надеюсь, это поможет вам.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]