2014-12-08 5 views
-1

Я новичок свернуться, я программирование в PHP, я научился работать с локоном кодами, как это:Сколько у нас типов cURL?

<?php 
$content = 'PHP cURL'; 
$curl = curl_init('http://www.example.com/submit/get.php'); 
curl_setopt($curl, CURLOPT_POST, 1); 
curl_setopt($curl, CURLOPT_POSTFIELDS, 'var='.$content); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, FALSE); 
$result = curl_exec($curl); 
curl_close($curl); 
?> 

Я хочу использовать API, который необходим локон команды, но в API документах было несколько локон коды например:

curl -X POST https://example.com/api/mail.send.json -d api_user=headortail -d api_key=XXXXXXXX 

Я смущен, и я не знаю, какой тип завитка. Могу ли я использовать в php?

ответ

1
  • libcurl является библиотека C.
  • cURL - инструмент командной строки для передачи данных с использованием синтаксиса URL, который использует libcurl.
  • PHP имеет his own binding библиотеки libcurl.

В ваших примерах API, который вы хотите использовать, имеет примеры с помощью инструмента командной строки cURL.

У cURL есть много вариантов настройки запроса, и таким же образом вы должны настроить запрос с помощью PHP.

В приведенном примере мы в:

curl -X POST https://example.com/api/mail.send.json -d api_user=headortail -d api_key=XXXXXXXX 

Эквивалентный код в PHP будет:

<?php 
     $params = array(
      'api_user' => 'headortail', 
      'api_key' => 'XXXXXXXX' 
     ); 
     $curl = curl_init('https://example.com/api/mail.send.json'); 
     curl_setopt($curl, CURLOPT_POST, 1); 
     curl_setopt($curl, CURLOPT_POSTFIELDS, $params); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); // TRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly. 
     $result = curl_exec($curl); 
     curl_close($curl); 
?> 

Варианты для инструмента Curl вы найдете в cURL man page. Затем, используя функцию curl_setopt в PHP, вы должны настроить эквивалентные параметры в сценарии:

В командной строке -d аргумент набор данных HTTP POST, то в PHP вы должны использовать CURLOPT_POSTFIELDS вариант (вам найдете его в curl_setopt документации) в curl_setopt функции:

curl_setopt($curlResource, CURLOPT_POSTFIELDS, <array | string>);

-1

cURL является библиотекой C для создания HTTP-запросов.

В вашем первом примере используются привязки PHP, вы можете получить к нему доступ с PHP.

В следующем примере используется приложение командной строки.

man curl предоставит вам документацию, объясняющую ключи командной строки. Вы можете использовать его для перевода версии командной строки в команды PHP с использованием привязок, которые вы используете в первом примере.

+0

Могу ли я использовать командную строку в PHP? –

+0

Вы можете использовать оболочку 'system', но это неэффективный и трудно отлаживаемый подход к проблеме. Вы не должны этого делать, когда у вас есть привязки PHP к библиотеке, которую вы хотите использовать. – Quentin

+0

Вы имеете в виду, что лучше привязать. да? –

Смежные вопросы