Отправить запрос на отправку XML на веб-сервер с CURL - программирование
Подтвердить что ты не робот

Отправить запрос на отправку XML на веб-сервер с CURL

Я пытаюсь отправить запрос на веб-сервер, используя php и curl. Я раньше не делал этого, и, хотя в Интернете есть много хороших примеров, у меня есть некоторые трудности с пониманием некоторых команд curl.

Это то, что я хочу сделать: существует установленная веб-служба (например, служба веб-карты), и я хочу, чтобы мой PHP-код отправил почтовый XML-запрос этой службе. В ответ я хочу получить XML файл.

Это то, что у меня есть до сих пор:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, ''); 
    /*curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));*/
    /* curl_setopt($ch, CURLOPT_HEADER, 0);*/
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    /*curl_setopt($ch, CURLOPT_REFERER, '');*/
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $ch_result = curl_exec($ch);
    curl_close($ch);
    echo $ch_result;

Как я уже сказал, я довольно новичок в php, а также в использовании curl, и я думаю, что мне не хватает некоторых концепций. Мои вопросы: 1) Какая строка (ссылка), которую я должен положить в:

          curl_setopt($ch, CURLOPT_URL, ''); 

Это имя хоста, которое я хочу отправить запросу?

2) В строке 6 переменная $xml содержит файл xml, который я хочу отправить в качестве запроса. Правильно ли это, или эта переменная должна содержать что-то еще?

3) В каких случаях мне нужно использовать httpheader или header (row3 и row4),

Спасибо за помощь. Димитрис

4b9b3361

Ответ 1

Попробуйте так:

  $url = 'https://android.googleapis.com/gcm/send';
  $ch = curl_init();
  curl_setopt( $ch, CURLOPT_URL, $url );
  curl_setopt( $ch, CURLOPT_POST, true );
  curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
  curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
  curl_setopt( $ch, CURLOPT_POSTFIELDS, "<xml>here</xml>" );
  $result = curl_exec($ch);
  curl_close($ch);

Подробнее см. http://php.net/manual/en/function.curl-setopt.php