السلام عليكم ورحمة الله وبركاته
جمعت لكم كلا الإجرائين للشركتين Mobily و Jawal
[COLOR="#FF0000"]ملاحظة: عدلت اسم الإجراء ليدل على اسم الشركة وقمت بإعادة ترتيب البارامترات لكلا الإجرائين للتتوافق مع بعض في الترتيب
[/COLOR]
عند الاشتراك لدى أي شركة سيعطونكم username و password مع عدد رسائل مجانية للتجربة
بعدها استخدموا الإجراء الذي يخصهم بارسال البارامترات التالية
username اسم المستخدم
password كلمة المرور
msg نص الرسالة
sender المرسل الذي تريدونه يظهر عنوان للرسالة مثل اسم الشركات
numbers ارقام الجوالات المراد ارسال الرسالة لهم يفصل بين الاقام بفاصلة
إجراء Mobily
إجراء Jawal
استخدام الإجرائين
السلام عليكم ورحمة الله وبركاته
جمعت لكم كلا الإجرائين للشركتين Mobily و Jawal
[COLOR="#FF0000"]ملاحظة: عدلت اسم الإجراء ليدل على اسم الشركة وقمت بإعادة ترتيب البارامترات لكلا الإجرائين للتتوافق مع بعض في الترتيب
[/COLOR]
عند الاشتراك لدى أي شركة سيعطونكم username و password مع عدد رسائل مجانية للتجربة
بعدها استخدموا الإجراء الذي يخصهم بارسال البارامترات التالية
username اسم المستخدم
password كلمة المرور
msg نص الرسالة
sender المرسل الذي تريدونه يظهر عنوان للرسالة مثل اسم الشركات
numbers ارقام الجوالات المراد ارسال الرسالة لهم يفصل بين الاقام بفاصلة
إجراء Mobily
كود :
#Region " Mobily SMS "
Public Sub MobilySendMessage(ByVal username As String, ByVal password As String, ByVal sender As String, ByVal msg As String, ByVal numbers As String)
Dim temp As Integer = 0
Dim req As Net.HttpWebRequest = Net.WebRequest.Create("http://www.mobily.ws/api/msgSend.php")
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"
Dim postData As String = "mobile=" & username & "&password=" & password & "&numbers=" & numbers & "&sender=" & sender & "&msg=" & msg & "&applicationType=24"
req.ContentLength = postData.Length
Dim stOut As IO.StreamWriter = New IO.StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII)
stOut.Write(postData)
stOut.Close()
Dim strResponse As String
Dim stIn As IO.StreamReader = New IO.StreamReader(req.GetResponse().GetResponseStream())
strResponse = stIn.ReadToEnd()
stIn.Close()
Select Case strResponse
Case "1" : MessageBox.Show("لقد تمت العملية بنجاح")
Case "2" : MessageBox.Show("إن رصيدك لدى موبايلي قد إنتهى ولم يعد به أي رسائل. (لحل المشكلة قم بشحن رصيدك من الرسائل لدى موبايلي. لشحن رصيدك إتبع تعليمات شحن الرصيد)")
Case "3" : MessageBox.Show("إن رصيدك الحالي لا يكفي لإتمام عملية الإرسال. (لحل المشكلة قم بشحن رصيدك من الرسائل لدى موبايلي. لشحن رصيدك إتبع تعليمات شحن الرصيد")
Case "4" : MessageBox.Show("إن إسم المستخدم الذي إستخدمته للدخول إلى حساب الرسائل غير صحيح (تأكد من أن إسم المستخدم الذي إستخدمته هو نفسه الذي تستخدمه عند دخولك إلى موقع موبايلي).")
Case "5" : MessageBox.Show("هناك خطأ في كلمة المرور (تأكد من أن كلمة المرور التي تم إستخدامها هي نفسها التي تستخدمها عند دخولك موقع موبايلي,إذا نسيت كلمة المرور إضغط على رابط نسيت كلمة المرور لتصلك رسالة على جوالك برقم المرور الخاص بك)")
Case "6" : MessageBox.Show("إن صفحة الإرسال لاتجيب في الوقت الحالي (قد يكون هناك طلب كبير على الصفحة أو توقف مؤقت للصفحة فقط حاول مرة أخرى أو تواصل مع الدعم الفني إذا إستمر الخطأ)")
Case "12" : MessageBox.Show("إن حسابك بحاجة إلى تحديث يرجى مراجعة الدعم الفني")
Case "13" : MessageBox.Show("إن إسم المرسل الذي إستخدمته في هذه الرسالة لم يتم قبوله. (يرجى إرسال الرسالة بإسم مرسل آخر أو تعريف إسم المرسل لدى موبايلي)")
Case "14" : MessageBox.Show("إن إسم المرسل الذي إستخدمته غير معرف لدى موبايلي. (يمكنك تعريف إسم المرسل من خلال صفحة إضافة إسم مرسل)")
Case "15" : MessageBox.Show("يوجد رقم جوال خاطئ في الأرقام التي قمت بالإرسال لها. (تأكد من صحة الأرقام التي تريد الإرسال لها وأنها بالصيغة الدولية)")
Case "16" : MessageBox.Show("الرسالة التي قمت بإرسالها لا تحتوي على إسم مرسل. (أدخل إسم مرسل عند إرسالك الرسالة)")
Case "17" : MessageBox.Show("لم يتم ارسال نص الرسالة. الرجاء التأكد من ارسال نص الرسالة والتأكد من تحويل الرسالة الى يوني كود (الرجاء التأكد من استخدام الدالة()")
Case "-1" : MessageBox.Show("لم يتم التواصل مع خادم (Server) الإرسال موبايلي بنجاح. (قد يكون هناك محاولات إرسال كثيرة تمت معا , أو قد يكون هناك عطل مؤقت طرأ على الخادم إذا إستمرت المشكلة يرجى التواصل مع الدعم الفني)")
Case "-2" : MessageBox.Show("لم يتم الربط مع قاعدة البيانات (Database) التي تحتوي على حسابك وبياناتك لدى موبايلي. (قد يكون هناك محاولات إرسال كثيرة تمت معا , أو قد يكون هناك عطل مؤقت طرأ على الخادم إذا إستمرت المشكلة يرجى التواصل مع الدعم الفني)")
Case Else : MessageBox.Show(strResponse.ToString())
End Select
End Sub
#End Regionإجراء Jawal
كود :
#Region " Jawal SMS"
Private ArabicMessage As Boolean = True
Private EnglishMessage As Boolean = False
Private Sub JawalSendmessage(ByVal USER_NAM As String, ByVal PASSWRD As String, ByVal SENDER As String, ByVal MESSAGE As String, ByVal RECIEVER As String, Optional ByVal UNICOD As String = "A")
Dim response As String = ""
'****************************************************************
'This link is used to send message either in arabic or in English
'****************************************************************
Dim url As String = "http://www.jawalsms.net/httpSmsProvider.aspx"
'****************************************************************
' here are the parameters needed to send sms message
'****************************************************************
'Dim USER_NAM As String = User_Name
'Dim PASSWRD As String = Pass_word
'Dim SENDER As String = ComboBox1.SelectedItem.ToString()
'Dim RECIEVER As String = mobilenumtxt.Text
'Dim MESSAGE As String = messagetxt.Text
'Dim UNICOD As String = "E"
If EnglishMessage Then
UNICOD = "E"
'****************************************************************
'this parameter is for english message
'****************************************************************
ElseIf ArabicMessage Then
UNICOD = "U"
'****************************************************************
'this parameter isfor arabic message
'****************************************************************
MESSAGE = Unicode(MESSAGE)
End If
Dim query As String = "username=" + USER_NAM + "&password=" + PASSWRD + "&mobile=" + RECIEVER + "&unicode=" + UNICOD + "&message=" + MESSAGE + "&sender=" + SENDER
Try
'****************************************************************
'here we can make a request for the the required api website by passing parameters to it.
'****************************************************************
Dim httpwc As Net.HttpWebRequest = DirectCast(Net.WebRequest.Create(url), Net.HttpWebRequest)
httpwc.Method = "POST"
Dim data As Byte() = System.Text.Encoding.UTF8.GetBytes(query)
httpwc.ContentType = "application/x-www-form-urlencoded"
httpwc.ContentLength = data.Length
Dim stwriter As IO.Stream = httpwc.GetRequestStream()
stwriter.Write(data, 0, data.Length)
stwriter.Close()
Dim wr As Net.WebResponse = httpwc.GetResponse()
stwriter = wr.GetResponseStream()
Dim streader As New IO.StreamReader(stwriter)
response = streader.ReadLine()
streader.Close()
stwriter.Close()
MessageBox.Show(response)
'****************************************************************
'This result returned by the response to the request and it takes one of these values
'****************************************************************
Select Case response
Case "0"
MessageBox.Show("تم الارسال بنجاح")
Exit Select
Case "101"
MessageBox.Show("معاملات خاطئة")
Exit Select
Case "104"
MessageBox.Show("قد يكون اسم المستخدم او كلمة المرور غير صحيح ")
Exit Select
Case "105"
MessageBox.Show("بطاقة غير متوفرة")
Exit Select
Case "106"
MessageBox.Show("unicode خاطئ")
Exit Select
Case "107"
MessageBox.Show("اسم المرسل غير مسموح")
Exit Select
Case "108"
MessageBox.Show("اسم المرسل غير موجود")
Exit Select
Case Else
MessageBox.Show("هناك خطاء في الارسال ")
Exit Select
End Select
Catch ex As Exception
End Try
MessageBox.Show("النقاط الحالية= " & getpoints(USER_NAM, PASSWRD))
End Sub
Private Function Unicode(ByVal messg As String) As String
Dim arabicmessage As String = String.Empty
Dim i As Integer = 0
While i < messg.Length
arabicmessage += ToChar(System.Convert.ToChar(messg.Substring(i, 1)))
System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)
End While
Return arabicmessage
End Function
Private Function ToChar(ByVal ch As Char) As String
Dim class1 As New System.Text.UnicodeEncoding()
Dim msg As Byte() = class1.GetBytes(System.Convert.ToString(ch))
Return ToHeDecimal(msg(1) & msg(0).ToString("X"))
End Function
Private Function ToHeDecimal(ByVal messg As String) As String
Dim temp As String = String.Empty
Select Case messg.Length
Case 1
temp = "000" + messg
Exit Select
Case 2
temp = "00" + messg
Exit Select
Case 3
temp = "0" + messg
Exit Select
Case 4
temp = messg
Exit Select
End Select
Return temp
End Function
Protected Function getpoints(ByVal User_Name As String, ByVal Pass_word As String) As String
Dim url As String = "http://www.jawalsms.net/api/getBalance.aspx"
Dim str As String = url + "?username=" + User_Name + "&password=" + Pass_word
Try
Dim httpwc As Net.HttpWebRequest = DirectCast(Net.WebRequest.Create(str), Net.HttpWebRequest)
Dim httpwr As Net.HttpWebResponse = DirectCast(httpwc.GetResponse(), Net.HttpWebResponse)
Dim streader As New IO.StreamReader(httpwr.GetResponseStream())
Dim balancestr As String = streader.ReadToEnd().ToString()
streader.Close()
httpwr.Close()
Return balancestr
Catch EX As Exception
Return ""
End Try
End Function
#End Regionاستخدام الإجرائين
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MobilySendMessage(Me.txtUsername.Text, Me.txtPassword.Text, Me.txtSender.Text, Me.txtMSG.Text, Me.txtNumbers.Text)
JawalSendmessage(Me.txtUsername.Text, Me.txtPassword.Text, Me.txtSender.Text, Me.txtMSG.Text, Me.txtNumbers.Text [color=#FF0000],"A"[/color])
' [color=#FF0000]"A"[/color] تعني الرسالة اللغة العربية
' [color=#FF0000]"E"[/color] تعني الرسالة باللغة الإنجليزية
' هذا البارامتر لجوال اختياري، الإفتراضي اللغة العربية
End Sub