النتائج 1 إلى 6 من 6

الموضوع: أريد إرسال SMS من خلال PHP ..معي الكود والمتغيرات

  1. #1

    أريد إرسال SMS من خلال PHP ..معي الكود والمتغيرات



    السلام عليكم

    اشتركت في خدمة SMS من إحدى الشركات
    وأعطوني أكواد مختلفة لطرق مختلفة للإرسال بدون الدخول للوحة التحكم
    من خلال API

    هناك php
    .net
    java

    ياريت اللي يعرف يدلني على المتغيرات في الأكواد وكيف أسوي الملف وأرفعه على السيرفر
    لأن خبرتي قليلة بالphp

    للمراسلة عبر المسنجر
    sales@nurhosting.com
    كما يمكن طرح الحل هنا
    لكن أريد فهمه وتطبيقه أيضا

    وشكرا لكم









  2. #2


    الأكواد


    Calling HTTP API Using .Net

    Imports System.IO
    Imports System.Net
    Imports System.Data
    Partial Class SendUsingSMPP
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles Me.Load
    Dim WebRequest As Net.WebRequest 'object for WebRequest
    Dim WebResonse As Net.WebResponse 'object for WebResponse
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''
    '
    ' DEFINE PARAMETERS USED IN URL
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''
    '
    'To what server you need to connect to for submission
    'i.e. Dim Server As String = "smpp1.routesms.com"

    Dim Server As String = ""
    'Port that is to be used like 8080 or 8000
    Dim Port As String = ""
    'Username that is to be used for submission
    'i.e. Dim UserName As String = "tester"

    Dim UserName As String = ""
    ' password that is to be used along with username
    'i.e. Dim Password As String = "password"

    Dim Password As String = ""
    'What type of the message that is to be sent.
    '0:means plain text
    '1:means flash
    '2:means Unicode (Message content should be in Hex)
    '6:means Unicode Flash(Message content should be in Hex)

    Dim type As Integer = 0
    'Message content that is to be transmitted
    Dim Message As String = "Test Message"
    'Url Encode message
    Message = HttpUtility.UrlEncode(Message)
    If (Message = 2) Or (Message = 6) Then
    Message = ConvertToUnicode(Message)

    End If
    'Require DLR or not
    '0:means DLR is not Required
    '1:means DLR is Required

    Dim DLR As Integer = 1
    'Sender Id to be used for submitting the message
    'i.e. Dim SenderName As String = "test"

    Dim Source As String = ""
    'Destinations to which message is to be sent For submitting more
    than one
    'destination at once destinations should be comma separated Like
    '91999000123,91999000124

    Dim Destination As String = "
    "

    '''''''CODE COMPLETE TO DEFINE PARAMETER'''''''''''''''
    '

    Dim WebResponseString As String = "
    "
    Dim URL As String = "http://" & Server & ":" & Port
    &
    "/bulksms/?username=" & UserName & "&password=" & Password & "&type="
    &
    type & "&dlr=" & DLR & "&destination=" & Destination & "&source=" &Source & "&message=" & Message & "
    "
    WebRequest = Net.HttpWebRequest.Create(URL) 'Hit URL Link
    WebRequest.Timeout = 25000

    Try

    WebResonse = WebRequest.GetResponse 'Get Response
    Dim reader As IO.StreamReader = New
    IO.StreamReader(WebResonse.GetResponseStream)
    'Read Response and store in variable
    WebResponseString = reader.ReadToEnd()
    WebResonse.Close()
    Response.Write(WebResponseString) 'Display Response.
    Catch ex As Exception
    WebResponseString = "Request Timeout" 'If any exception
    occur.

    Response.Write(WebResponseString)
    End Try
    End Sub

    'Function To Convert String to Unicode if MessageType=2 and 6.
    Public Function ConvertToUnicode(ByVal str As String) As String
    Dim ArrayOFBytes() As Byte
    =
    System.Text.Encoding.Unicode.GetBytes(str)
    Dim UnicodeString As String = "
    "
    Dim v As Integer
    For v = 0 To ArrayOFBytes.Length -
    1
    If vMod 2 =0 Then

    Dim t As Integer = ArrayOFBytes(v)
    RouteSms Solutions Limited Page 11

    ArrayOFBytes(v) = ArrayOFBytes(v + 1)
    ArrayOFBytes(v + 1) =
    t

    End If
    Next
    For v = 0 To ArrayOFBytes.Length -1
    Dim c As String = Hex$(ArrayOFBytes(v)
    )
    If c.Length = 1 Then
    c= "0" &
    c

    End If
    UnicodeString = UnicodeString & c
    Next
    Return UnicodeString
    End Function
    End Class
    =============================================

    Calling HTTP API Using php

    <?php
    class Sender{
    var $host;
    var $port;
    /*
    * Username that is to be used for submission
    *
    /
    var $strUserName;
    /*
    * password that is to be used along with username
    *
    /
    var $strPassword;
    /*
    * Sender Id to be used for submitting the message
    *
    /
    var $strSender;
    /*
    * Message content that is to be transmitted
    *
    /
    var $strMessage;
    /*
    * Mobile No is to be transmitted.
    *
    /
    var $strMobile;
    /*
    * What type of the message that is to be sent
    * <ul>
    * <li>0:means plain text</li>
    * <li>1:means flash</li>
    * <li>2:means Unicode (Message content should be in Hex)</li>
    * <li>6:means Unicode Flash (Message content should be in Hex)</li>
    * </ul>
    *
    /
    var $strMessageType;
    /*
    * Require DLR or not
    * <ul>
    * <li>0:means DLR is not Required</li>
    * <li>1:means DLR is Required</li>
    * </ul>
    *
    /
    var $strDlr;
    private function sms__unicode($message)
    {
    $hex1=''
    ;
    if (function_exists('iconv'))
    {

    $latin = @iconv('UTF-8', 'ISO-8859-1', $message);
    if (strcmp($latin, $message)) {
    $arr = unpack('H*hex', @iconv('UTF-8', 'UCS2BE', $message));
    $hex1 = strtoupper($arr['hex']);
    }
    if($hex1 ==''){
    $hex2='';

    $hex='';
    for ($i=0; $i < strlen($message); $i++){
    $hex = dechex(ord($message[$i]));
    $len =strlen($hex);
    $add = 4 -$len;
    if($len < 4){
    for($j=0;$j<$add;$j++){
    $hex="0".$hex;
    }
    }
    $hex2.=$hex;
    }
    return $hex2;
    }
    else{
    return $hex1;
    }
    }
    else{

    print 'iconv Function Not Exists !'
    ;
    }
    }

    //Constructor.
    .
    public function Sender ($host,$port,$username,$password,$sender, $message,$mobile,

    $msgtype,$dlr){
    $this->host=$host;
    $this->port=$port;
    $this->strUserName = $username;
    $this->strPassword = $password;
    $this->strSender= $sender;
    $this->strMessage=$message; //URL Encode The Message..
    $this->strMobile=$mobile;
    $this->strMessageType=$msgtype;
    $this->strDlr=$dlr;
    }
    public function Submit()
    {
    if($this->strMessageType=="2" |
    |
    $this->strMessageType=="6")
    {

    $this->strMessage = $this->sms__unicode(
    $this->strMessage);
    //Call The Function Of String To HEX.
    echo $this->strMessage;
    exit;
    }
    else

    $this->strMessage=urlencode($this->strMessage);
    try{
    //Smpp http Url to send sms.
    $live_url="http://".$this->host.":".
    $this->port."/sendsms?username=".$this->strUserName."&password=".$this>strPassword."&type=".$this->strMessageType."&dlr=".$this->strDlr."&destination=".$this->strMobile."&source=".$this>strSender."&message=".$this->strMessage."";
    $parse_url=file($live_url);
    echo $parse_url[0];
    }
    catch(Exception $e){
    echo 'Message:' .$e->getMessage()
    ;
    }
    }
    }

    //Call The Constructor.
    $obj = new Sender("IP","Port","","","Tester"," 919990001245
    العربية," "
    "
    ,"2","1");
    $obj->Submit ();
    ?>


    ==============================================

    Calling HTTP API Using Java
    import java.io.BufferedReader;
    import java.io.DataOutputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    /**
    * An Example Class to use for the submission using HTTP API You can perform
    * your own validations into this Class For username, password,destination,
    * source, dlr, type, message, server and port
    **
    /
    public class Sender {
    // Username that is to be used for submission
    String username;
    // password that is to be used along with username
    String password;
    // Message content that is to be transmitted
    String message;
    /**
    * What type of the message that is to be sent
    * <ul>
    * <li>0:means plain text</li>
    * <li>1:means flash</li>
    * <li>2:means Unicode (Message content should be in Hex)</li>
    * <li>6:means Unicode Flash (Message content should be in Hex)</li>
    * </ul>
    *
    /
    String type;
    /**
    * Require DLR or not
    * <ul>
    * <li>0:means DLR is not Required</li>
    * <li>1:means DLR is Required</li>
    * </ul>
    *
    /
    String dlr;
    /**
    * Destinations to which message is to be sent For submitting more than one
    * destination at once destinations should be comma separated Like
    * 91999000123,91999000124
    *
    /
    String destination;
    // Sender Id to be used for submitting the message
    String source;
    // To what server you need to connect to for submission
    String server;
    // Port that is to be used like 8080 or 8000
    int port;
    public Sender(String server, int port, String username, String password,
    String message, String dlr, String type, String destination,
    String source) {
    this.username = username;
    this.password = password;
    this.message = message;
    this.dlr = dlr;
    this.type = type;
    this.destination = destination;
    this.source = source;
    this.server = server;
    this.port = port;
    }
    private void submitMessage() {


    try {
    // Url that will be called to submit the message
    URL sendUrl = new URL("http://" + this.server + ":" + this.port
    + "/bulksms/bulksms");
    HttpURLConnection httpConnection = (HttpURLConnection) sendUrl
    .openConnection();
    // This method sets the method type to POST so that
    // will be send as a POST request
    httpConnection.setRequestMethod("POST");
    // This method is set as true wince we intend to send
    // input to the server
    httpConnection.setDoInput(true);
    // This method implies that we intend to receive data from server.
    httpConnection.setDoOutput(true);
    // Implies do not use cached data
    httpConnection.setUseCaches(false);
    // Data that will be sent over the stream to the server.
    DataOutputStream dataStreamToServer = new DataOutputStream(
    httpConnection.getOutputStream());
    dataStreamToServer.writeBytes("username="
    + URLEncoder.encode(this.username, "UTF-8") + "&password="
    + URLEncoder.encode(this.password, "UTF-8") + "&type="
    + URLEncoder.encode(this.type, "UTF-8") + "&dlr="
    + URLEncoder.encode(this.dlr, "UTF-8") + "&destination="
    + URLEncoder.encode(this.destination, "UTF-8") + "&source="
    + URLEncoder.encode(this.source, "UTF-8") + "&message="
    + URLEncoder.encode(this.message, "UTF-8"));
    dataStreamToServer.flush()
    ;
    dataStreamToServer.close()
    ;

    // Here take the output value of the server.
    BufferedReader dataStreamFromUrl = new BufferedReader(
    new InputStreamReader(httpConnection.getInputStream()));
    String dataFromUrl = "", dataBuffer = "";
    // Writing information from the stream to the buffer
    while ((dataBuffer = dataStreamFromUrl.readLine()) != null){
    dataFromUrl += dataBuffer;
    }
    /**
    * Now dataFromUrl variable contains the Response received from the
    * server so we can parse the response and process it accordingly.
    */
    dataStreamFromUrl.close();
    System.out.println("Response: " + dataFromUrl);
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }
    public static void main(String[] args) {
    try {
    // Below exmaple is for sending Plain text
    Sender s = new Sender("smpp2.routesms.com", 8080, "tester909",
    "test11", "test for unicode", "1", "0", "919869533416",
    "Update");
    s.submitMessage();
    // Below exmaple is for sending unicode
    Sender s1 = new Sender("smpp2.routesms.com", 8080, "xxxx",
    "xxx", convertToUnicode("test for unicode").toString(),
    "1", "2", "919869533416", "Update");
    s1.submitMessage()
    ;
    } catch (Exception ex)
    {

    }
    }
    /**
    * Below method converts the unicode to hex value
    * @param regText
    * @return
    *
    /


    private static StringBuffer convertToUnicode(String regText) {
    char[] chars = regText.toCharArray();
    StringBuffer hexString = new StringBuffer();
    for (int i = 0; i < chars.length; i++) {
    String iniHexString = Integer.toHexString((int) chars[i]);
    if (iniHexString.length() == 1)
    iniHexString = "000" + iniHexString;
    else if (iniHexString.length() == 2)
    iniHexString = "00" + iniHexString;
    else if (iniHexString.length() == 3)
    iniHexString = "0" + iniHexString;
    hexString.append(iniHexString);
    }
    System.out.println(hexString);
    return hexString;
    }
    }








    التعديل الأخير تم بواسطة NurHosting.com ; 19-10-2010 الساعة 01:16 PM

  3. #3
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    6


    اخي العزيز ممكن اساعدك في الكود لو ما عندك ما نع

    انت عاوز تعمل ملف ارسال فقط ؟

    ولا عاوز سكربت كامل ببرامج تركب للهاتف java ودسك توب ابلكشن ؟





    __________________
    ( رابط ) www.blueapplesoft.com
    ( رابط ) www.cairolayer.com
    شركة بلو آبل سوفت
    20110644406

  4. #4


    مبدئيا عايز أعمل ملف إرسال...وهذا هو المراد من الموضوع
    بالنسبة للإسكربت فهيكون في مرحلة متقدمة إن شاء الله
    وفيكم تفيدوني ..لو تكرمتم أيضا ولو بالمختصر المفيد

    وشكرا لكم






  5. #5
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    جرب كده اخى الكريم


    كود PHP:

    <?php
    /*---------------------------------------
    #########################################
        برمجة محمد هلال
        حقول هذه البرمجة لمحمد هلال
        الايميل:mohamed_helal123456@hotmail.com
        ولطلب البرمجة
        helal-egypt@hotmail.com
    #########################################
    -----------------------------------------*/
    class Sender{
        var 
    $host;
        var 
    $port;
    /*
    * Username that is to be used for submission
    */
        
    var $strUserName;
    /*
    * password that is to be used along with username
    */
        
    var $strPassword;
    /*
    * Sender Id to be used for submitting the message
    */
        
    var $strSender;
    /*
    * Message content that is to be transmitted
    */
        
    var $strMessage;
    /*
    * Mobile No is to be transmitted.
    */
        
    var $strMobile;
    /*
    * What type of the message that is to be sent
    * <ul>
    * <li>0:means plain text</li>
    * <li>1:means flash</li>
    * <li>2:means Unicode (Message content should be in Hex)</li>
    * <li>6:means Unicode Flash (Message content should be in Hex)</li>
    * </ul>
    */
        
    var $strMessageType;
    /*
    * Require DLR or not
    * <ul>
    * <li>0:means DLR is not Required</li>
    * <li>1:means DLR is Required</li>
    * </ul>
    */
        
    var $strDlr;
    //Constructor.
        
    public function __construct($host,$port,$username,$password,$sender$message,$mobile,$msgtype,$dlr){
            
    $this->host=$host;
            
    $this->port=$port;
            
    $this->strUserName $username;
            
    $this->strPassword $password;
            
    $this->strSender$sender;
            
    $this->strMessage=$message//URL Encode The Message..
            
    $this->strMobile=$mobile;
            
    $this->strMessageType=$msgtype;
            
    $this->strDlr=$dlr;
        }
    //---------------------------------------------------------------//
        
    private function sms__unicode($message){
            
    $hex1='';
            if (
    function_exists('iconv')){
                
    $latin = @iconv('UTF-8''ISO-8859-1'$message);
                if (
    strcmp($latin$message)) {
                    
    $arr unpack('H*hex', @iconv('UTF-8''UCS2BE'$message));
                    
    $hex1 strtoupper($arr['hex']);
                }
                if(
    $hex1 ==''){
                    
    $hex2='';
                    
    $hex='';
                    for (
    $i=0$i strlen($message); $i++){
                        
    $hex dechex(ord($message[$i]));
                        
    $len =strlen($hex);
                        
    $add -$len;
                        if(
    $len 4){
                            for(
    $j=0;$j<$add;$j++){
                                
    $hex="0".$hex;
                            }
                        }
                        
    $hex2.=$hex;
                    }
                    return 
    $hex2;
                }else{
                    return 
    $hex1;
                }
            }
            else{
            
            print 
    'iconv Function Not Exists !'
            
    ;
            }
        }
    //---------------------------------------------------------------//
        
    public function Submit(){
            if(
    $this->strMessageType=="2" ||$this->strMessageType=="6"){
                
    $this->strMessage $this->sms__unicode(
                
    $this->strMessage);
                
    //Call The Function Of String To HEX.
                
    echo $this->strMessage;
                exit;
            }else{
                    
    $this->strMessage=urlencode($this->strMessage);
                    try{
                        
    //Smpp http Url to send sms.
                        
    $live_url="host/\" target=\"_blank\" rel=\"nofollow\" title=\"اضغط هنا لزيارة الرابط http://%22.$this-%3ehost/\">http://".$this->host.":".
                        
    $this->port."/sendsms?username=".$this->strUserName."&password=".$this->strPassword."&type=".$this->strMessageType."&dlr=".$this->strDlr."&destination=".$this->strMobile."&source=".$this->strSender."&message=".$this->strMessage."";
                        
    $parse_url=file($live_url);
                        echo 
    $parse_url[0];
                    }catch(
    Exception $e){
                        echo 
    'Message:' .$e->getMessage();
                    }
            }
        }
    }

    //طريقة الاستخدام
    //Call The Constructor.
    $obj = new Sender("IP","Port",""/* اسم المستخدم*/,""/*كلمة المرور*/,"Tester"/* المرسيل*/,"رسالة تجربية"/*الرسالة*/,''/*رقم المحمول*/,"2","1");
    $obj->Submit ();
    ?>
    وغير المعلومات فى الجزء ده
    كود PHP:

    //طريقة الاستخدام
    //Call The Constructor.
    $obj = new Sender("IP","Port",""/* اسم المستخدم*/,""/*كلمة المرور*/,"Tester"/* المرسيل*/,"رسالة تجربية"/*الرسالة*/,''/*رقم المحمول*/,"2","1");
    $obj->Submit (); 






    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  6. #6
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    اخي الكريم

    ما هم حاطين كلاس كامل في المثال
    وطريقة تجريبه

    اقرأ الاكواد كمان مرة










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض