Как отправить SMS с помощью функции PHP CURL - PullRequest
0 голосов
/ 21 января 2012

У меня есть аккаунт на сайте, с помощью которого я могу отправлять смс на мобильные телефоны.Для этого сначала нужно войти в систему, используя мой идентификатор и пароль, а затем появится страница, на которой я положил номер мобильного телефона получателя, а затем свое сообщение и, наконец, нажал кнопку, чтобы отправить сообщение.

Теперь один из моих друзей сказал мне, что я могу отправлять смс из своего собственного приложения через этот сайт, используя функцию PHP Curl.У меня не было никакого предварительного представления о функции CURL, поэтому я гуглил ее, но я не мог понять, как это сделать.Я проверил HTML-код страницы входа и страницы, с которой я могу отправить смс с этого сайта, и я публикую ее ниже.

Не могли бы вы показать мне, как отправлять смс с помощью функции CURL илилюбым другим способом .. через этот сайт ..

Заранее спасибо :)

Форма 1

 <form name="form" action="/websms/index.php" method="POST">
 <input type="hidden" name="HTMLForm_formname" value="form">


  <table align="center" size="300" border="0" class="list">
  <tr class="r1">
    <th colspan="3" class="left">
        <label id="label_login_title" for="login_title" class="HTMLForm-label">User  Login</label>

       </th>
</tr>
  <tr>
    <td align="right" valign="top">
        <label id="label_mobile_no" for="mobile_no" class="HTMLForm-label">Mobile Number</label>
    </td>

     <td>
        <input type="text" id="mobile_no" name="mobile_no" size="20" maxlength="11" value="" onkeypress="return checkNumberOnly(event)" class="HTMLForm-text"> 
    </td>


   </tr>
   <tr> 
      <td align="right" valign="top">
        <label id="label_password" for="password" class="HTMLForm-label">Password</label>
    </td>
    <td>
        <input type="password" id="password" name="password" value="" class="HTMLForm-password" size="20">
    </td>

    </tr>

       <tr>
         <td colspan="3" align="center">
            <input type="submit" id="submit" name="submit" value="Login"  class="button_all_action">
            <input type="hidden" id="submit_login" name="submit_login" value="1">
      </td>
     </tr>
  </table>
  </form>

Вторая форма

<form name="form" action="javascript:get(document.getElementById('form'));" method="POST">
<input type="hidden" name="HTMLForm_formname" value="form">


<table align="center" size="450" border="0" class="list">


<tr class="r2">
    <th class="left">
        <label id="label_send_to_no" for="send_to_no" class="HTMLForm-label">To</label>
    </th>
    <td class="left">
        <textarea id="send_to_no" name="send_to_no" class="HTMLForm-textarea" onkeypress="checkValidGPNumner(document.form.send_to_no)" onchange="checkValidGPNumner(document.form.send_to_no)" onkeyup="checkValidGPNumner(document.form.send_to_no)" wrap="soft" style="width:250px;height:50px"></textarea>  

    </td>    
  </tr>

 <tr class="r1">

    <th class="left">
        <label id="label_message" for="message" class="HTMLForm-label">Message</label>
    </th>
    <td class="left">
        <textarea id="message" name="message" class="HTMLForm-textarea" onkeypress="textCounter(document.form.message,document.form.counter_message,160)" onchange="textCounter(document.form.message,document.form.counter_message,160)" onkeyup="textCounter(document.form.message,document.form.counter_message,160)" wrap="soft" style="width:250px;height:130px"></textarea>

       <input type="text" id="counter_message" name="counter_message" size="5" value="" readonly="" class="HTMLForm-text"> <label id="label_char_remain" for="char_remain" class="HTMLForm-label">Character remained</label> 
    </td>

 </tr>

     <tr class="r2">
     <td colspan="2" class="center">
        <input type="submit" id="submit" name="submit" value="Send" class="button_all_action">
        <input type="hidden" id="mid" name="mid" value="1">
        <input type="hidden" id="submit_sms" name="submit_sms" value="1">
    </td>
    </tr>
     </table>
   </form>

Ответы [ 6 ]

3 голосов
/ 22 июня 2016

Простая функция CURL для отправки смс:

    function CURLsendsms($number, $message_body){   

        $api_params = $api_element.'?apikey='.$apikey.'&sender='.$sender.'&to='.$mobileno.'&message='.$textmessage;  
        $smsGatewayUrl = "http://springedge.com";  
        $smsgatewaydata = $smsGatewayUrl.$api_params;
        $url = $smsgatewaydata;

        $ch = curl_init();                       // initialize CURL
        curl_setopt($ch, CURLOPT_POST, false);    // Set CURL Post Data
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $output = curl_exec($ch);
        curl_close($ch);                         // Close CURL

        // Use file get contents when CURL is not installed on server.
        if(!$output){
           $output =  file_get_contents($smsgatewaydata);  
        }

    }
2 голосов
/ 21 января 2012

Вы действительно можете отправлять SMS-сообщения с помощью cURL, но cURL - это только одна из его частей.Используя cURL, вы будете звонить через API-провайдеру, например Twilio .

1 голос
/ 21 апреля 2012

Это решение с использованием Twilio.

Прежде всего вам необходимо скачать библиотеку twilio для PHP: https://github.com/twilio/twilio-php/downloads

Затем скопируйте папку «Службы» на свой сервер и запомнитеместоположение.

Теперь вам нужно создать простую программу, подобную приведенной ниже (это пример простого отправителя php sms):

<?php //lets say that the name of this php is smsSender.php

$contactname = $_POST['name'];
$contactphone = $_POST['mobile_no'];

$message = $_POST['message'];


require 'Services/Twilio.php';//<<<<<<<<<HERE! make sure the path is ok.

$AccountSid = "AXXXXXX"; // this numbers you can find it in your twilio dashboard
$AuthToken = "TXXXXXXXXX";// also this number .

$client = new Services_Twilio($AccountSid, $AuthToken);

$people = array(
//"4566789903" => "Curious George",
$contactphone => $contactname,
);

foreach ($people as $number => $name) {

$sms = $client->account->sms_messages->create("7035960031",$number,
$message);

echo "Sent message to $name";

}
?>

Так что вам нужно будет изменитьваша форма действия, как это:

<form name="form" action="smsSender.php" method="POST">

Примечание: если вы используете пробную учетную запись, вы сможете отправлять только проверенные номера в своей учетной записи, но если вы зарегистрируете номер телефона (1USD /месяц), то вы можете отправить на любой номер и без песочницы).

ВАЖНО: библиотека php должна быть установлена ​​на сервере php, если вы используете свой собственный сервер, скажем, в UBUNTU, эта команда будетустановить эти библиотеки: sudo apt-get установить curl libcurl3 libcurl3-dev php5-curl

0 голосов
/ 20 ноября 2014

После перехода на этот код у меня все заработало.

foreach ($people as $number => $name) {
$client->account->messages->sendMessage("+12055xxxxxx",$number,
$message);
0 голосов
/ 21 января 2012

Curl в основном используется для удаления содержимого с другого веб-сайта, у него нет функции отправки смс. Вы должны использовать другой способ.

Есть несколько инструментов, с помощью которых вы можете подключиться к своему смс (текстовый сервер), откуда вы можете отправлять смс. вы можете использовать curl, чтобы получать ваши смс-ответы или что-то более позднее, если вам нужно и вы хотите использовать это.

0 голосов
/ 21 января 2012

Я не уверен, что вы можете отправлять SMS с помощью CURL, однако вы можете с помощью функции почты PHP. Однако я никогда этого не делал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...