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

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

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); 

пример в:

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 

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

О, и вы заметите, что использование -X совершенно излишне! 😉