Как запустить скрипт PHP с кодом cURL в расширении Safari? - PullRequest
2 голосов
/ 14 августа 2010

Я пытаюсь запустить функцию бота PHP в расширении Safari.

Это HTML-код, который я пытался собрать, но это беспорядок в PHP, cURL и HTML, и я действительно не знаю, что делаю.

Я никогда не пытался использовать cURL, пока не получил этот код от http://www.barattalo.it/2010/08/09/send-push-notification-to-iphone-with-php-and-pushme-to/,, и кажется, что расширение перестает работать, когда я пытаюсь инициировать $ ch. Это, очевидно, наносит ущерб всей цели кода, потому что он мне нужен для запуска команд cURL.

Какие-нибудь советы, как это работает?

 function performCommand(event)
 {    if (event.command === "sendLink") { 
pushMeTo($u,$t,$s);      }


 function pushMeTo($widgeturl, $text, $signature)
 { $agent = "Mozilla/5.0 (windows; U; Windows NT 6.0; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12";
  $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $widgeturl);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  $page = curl_exec($ch);
   preg_match("/form action=\"(.*?)\"/", $page, $form_action);
   preg_match("/textarea name=\"(.*?)\"/", $page, $message_field);
   preg_match("/input type=\"text\" name=\"(.*?)\"/", $page, $signature_field);

  $ch = curl_init();

  $strpost = $message_field[1].'=' . urlencode($text) . '&'.$signature_field[1].'=' . urlencode($signature);
   curl_setopt($ch, CURLOPT_POSTFIELDS, $strpost );
   curl_setopt($ch, CURLOPT_URL, $form_action[1]);
   curl_setopt($ch, CURLOPT_POST, 1);
   curl_setopt($ch, CURLOPT_HEADER, 0);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_USERAGENT, $agent);    
  $page = curl_exec($ch);
 }

1 Ответ

1 голос
/ 14 августа 2010

Вы не сможете делать то, что хотите, так, как вы это делаете.В своем комментарии zneak абсолютно прав.Ваше расширение работает на стороне клиента, а PHP - на стороне сервера.Ваш Javascript не знает, что делать с вашим PHP-кодом.

В качестве альтернативы ваше расширение может запустить Ajax-запрос на URL, который может запустить код PHP.Я делаю это в одном из моих внутренних номеров, где мне нужно позвонить в сервис.Прекрасно работает.

...