PHP Curl с флагом --data? - PullRequest
       4

PHP Curl с флагом --data?

7 голосов
/ 19 марта 2012

Может кто-нибудь написать скрипт PHP, который воспроизводит функциональность этой команды оболочки linux? 100

curl -X POST -u "USERNAME:PASS" \
    -H "Content-Type: application/json" \
        --data '{"aps": {"alert": "this is a message"}}' \
            https://mywebsite.com/push/service/

Я думаю, что почти получил это в своем коде, но я не уверен, как обращаться с атрибутом --data.

Вот как выглядит мой код:

    $headers = array();
    $headers[] = "Content-Type: application/json";
    $body = '{"aps":{"alert":"this is a message"}}';

    $ch = curl_init();
    // Set the cURL options
    curl_setopt($ch, CURLOPT_URL,            "https://mywebsite.com/push/service/");
    curl_setopt($ch, CURLOPT_USERPWD,        "USERNAME:PASSWORD");
    curl_setopt($ch, CURLOPT_POST,           TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS,     $body);
    curl_setopt($ch, CURLOPT_HTTPHEADER,     $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

    // Execute post
    $result = curl_exec($ch);

    // Close connection
    curl_close($ch);
    print_r($result);

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

Общее правило: используйте опцию " - libcurl example.c", чтобы получить curl для генерации исходного кода для программы на C, которая будет использовать libcurl.Как вы увидите, API очень похож на PHP / CURL, и вам следует быстро понять, что - data преобразуется в CURLOPT_POSTFIELDS .

Oh, иВы заметите, что использование -X совершенно излишне!; -)

2 голосов
/ 19 марта 2012

пример в:

http://code.google.com/apis/gdata/articles/using_cURL.html

curl https://www.google.com/accounts/ClientLogin \
--data-urlencode Email=brad.gushue@example.com --data-urlencode Passwd=new+foundland \
-d accountType=GOOGLE \
-d source=Google-cURL-Example \
-d service=lh2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...