2013-03-28 33 views
14

phpとcurlを使用してWebサーバーに要求を送信しようとしています。 私は前にこのようなことをしていません。オンラインでたくさんの素晴らしい例がありますが、いくつかのカールコマンドを理解するのが難しいです。CURLを使用してWebサーバーにXML投稿要求を送信します。

これは私がやりたいことです:確立されたWebサービス(Webマップサービスなど)があり、私の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_setopt($ch, CURLOPT_URL, ''); 

です: 1)私が配置する必要があります文字列(リンク)とは何ですか?

2)行6に変数$ xmlに、リクエストとして送信するxmlファイルが含まれています。それは正しいか、この変数は何か他のものを含むはずですか?

3)どの場合、httpヘッダーまたはヘッダー(row3とrow4)を使用する必要がありますか。

ありがとうございました。 Dimitris

答えて

28

このようにそれを試してみてください。詳細については

$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

+0

をだから私は、すべてのXML文字列を入れタグ内に? – user1919

+1

あなたのXML全体が$ xmlにあれば、その行は次のようになります:curl_setopt($ ch、CURLOPT_POSTFIELDS、$ xml); – PKeidel

+0

私が明確に理解していないもう一つのことは、$ url変数に含まれていることです。リクエストを送信するサーバーのホスト名ですか? – user1919

関連する問題