powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Работа с sms-шлюзом по средствам vbs
6 сообщений из 6, страница 1 из 1
Работа с sms-шлюзом по средствам vbs
    #38014200
burgh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некий сайт предоставляющий услуги смс рассылки и т.п
Для того, чтобы отправить сообщение нужно отправит сформированную xml пост запросом на адрес хоста+
Код: html
1.
2.

.
Нужно сделать так, чтобы можно было отправлять сообщения скриптом на vb,или js,это нужно для того чтобы в последствии подципить batник с wmi командами.
взял я api и сотворил нечто..
исходники апи +
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
Function sendMessage(ByVal login, ByVal password, ByVal typeSms, ByVal sender, ByVal text, ByVal vCard, ByVal abonents)
  Set xmlDoc = CreateObject("Microsoft.XMLDOM")  
  
  Set objRoot = xmlDoc.createElement("request")  
  xmlDoc.appendChild objRoot  

  Set objMessage = xmlDoc.createElement("message") 
  objMessage.setAttribute "type", typeSms
  objRoot.appendChild objMessage

  Set objSender = xmlDoc.createElement("sender")  
  objSender.Text = sender
  objMessage.appendChild objSender 

  Set objText = xmlDoc.createElement("text")  
  objText.Text = text
  objMessage.appendChild objText

  If StrComp(typeSms, "vcard") = 0 Then
  	Set objUrl = xmlDoc.createElement("url")  
    objUrl.Text = vCard(0)
    objMessage.appendChild objUrl
    
    Set objName = xmlDoc.createElement("name")  
    objName.Text = vCard(1)
    objMessage.appendChild objName

    Set objPhone = xmlDoc.createElement("phone")  
    objPhone.setAttribute "cell", vCard(2)
	objPhone.setAttribute "work", vCard(3)
	objPhone.setAttribute "fax", vCard(4)
    objMessage.appendChild objPhone

	Set objEmail = xmlDoc.createElement("email")  
    objEmail.Text = vCard(5)
    objMessage.appendChild objEmail

	Set objPosition = xmlDoc.createElement("position")  
    objPosition.Text = vCard(6)
    objMessage.appendChild objPosition

	Set objOrg = xmlDoc.createElement("organization")  
    objOrg.Text = vCard(7)
    objMessage.appendChild objOrg

	Set objAddress = xmlDoc.createElement("address")  
    objAddress.setAttribute "post_office_box", vCard(8)
	objAddress.setAttribute "street", vCard(9)
	objAddress.setAttribute "city", vCard(10)
	objAddress.setAttribute "region", vCard(11)
	objAddress.setAttribute "postal_code", vCard(12)
	objAddress.setAttribute "country", vCard(13)
    objMessage.appendChild objAddress

	Set objAdd = xmlDoc.createElement("additional")  
    objAdd.Text = vCard(14)
    objMessage.appendChild objAdd
  End If

  For each a in abonents
	Set objAbonent = xmlDoc.createElement("abonent")  
    objAbonent.setAttribute "phone", a("phone")
	objAbonent.setAttribute "number_sms", abonents.IndexOf(a, 0) + 1
	objAbonent.setAttribute "client_id_sms", abonents.IndexOf(a, 0) + CLng(DateDiff("s", "01/01/1970 00:00:00", Now))
	objAbonent.setAttribute "time_send", a("time_send")
	objAbonent.setAttribute "validity_period", a("validity_period")
    objMessage.appendChild objAbonent
  Next

  Set objSecurity = xmlDoc.createElement("security") 
  objRoot.appendChild objSecurity 
  
  Set objLogin = xmlDoc.createElement("login")  
  objLogin.setAttribute "value", login
  objSecurity.appendChild objLogin  

  Set objPassword = xmlDoc.createElement("password")  
  objPassword.setAttribute "value", password
  objSecurity.appendChild objPassword  

  Set objIntro = xmlDoc.createProcessingInstruction("xml","version='1.0' encoding='utf-8'")  
  xmlDoc.insertBefore objIntro, xmlDoc.childNodes(0)  

  Set http = CreateObject("MSXML2.XMLHTTP")
  
  'Open URL As POST request
  http.Open "POST", "http://xml.sms16.ru/xml/", False

  'Set Content-Type header
  http.setRequestHeader "Content-Type", "text/xml"
  http.setRequestHeader "charset", "utf-8"
  
  'Send the form data To URL As POST binary request
  http.send xmlDoc
  
  'Get a result of the script which has received upload
  'MsgBox http.responseText

  xmlDoc.loadXml(http.responseText)
  Set objInfo = xmlDoc.getElementsByTagName("information")
  If objInfo.length > 0 then
    Set infos = CreateObject("Scripting.Dictionary")
	For each i in objInfo
	  infos.Add i.getAttribute("id_sms"), i.Text
	Next
	Set sendMessage = infos
  Else
    Set sendMessage = Nothing
  End If
End Function


Мое творение +
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Include("SmsApi.vbs")
If WScript.Arguments.Count <> 7 Then
	MsgBox "Необходимо ввести 7 параметров: логин и пароль пользователя, тип 

сообщения, имя отправителя, текст, данные визитной карты и список id сообщений"
	WScript.quit
End If
Dim abonentNumbers, vCard
abonentNumbers = Split(WScript.Arguments.Item(6), ", ")
Set abonents = CreateObject("System.Collections.ArrayList")
for each a in abonentNumbers
	Set abonent = CreateObject("Scripting.Dictionary")
	abonent("phone") = a
	abonent("time_send") = ""
	abonent("validity_period") = ""
	abonents.Add abonent
next
vCard = Split(WScript.Arguments.Item(5), ", ")
Set value = sendMessage(WScript.Arguments.Item(0), WScript.Arguments.Item(1), 

WScript.Arguments.Item(2), _
WScript.Arguments.Item(3), WScript.Arguments.Item(4), vCard, abonents)
Dim result
result = ""
For each i in value.Keys 
    result = result & "id смс: " & i & ", статус:" & value(i) & vbCrLf	
Next
MsgBox result

Sub Include (strFile)
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	Set objTextFile = objFSO.OpenTextFile(strFile, 1)
	ExecuteGlobal objTextFile.ReadAll
	objTextFile.Close
	Set objFSO = Nothing
	Set objTextFile = Nothing
End Sub


Что я делаю не так ?)
...
Рейтинг: 0 / 0
Работа с sms-шлюзом по средствам vbs
    #38014288
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
burghЧто я делаю не так ?)Задаете вопросы не так.

Проблема-то в чем?
...
Рейтинг: 0 / 0
Работа с sms-шлюзом по средствам vbs
    #38015773
burgh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyburghЧто я делаю не так ?)Задаете вопросы не так.

Проблема-то в чем?
авторПроблема в том, что не работает скипт, вот собственно и все.
я был бы рад,если бы Вы посмотрели листинг и посоветовали в каком направлении двигаться дальше.
...
Рейтинг: 0 / 0
Работа с sms-шлюзом по средствам vbs
    #38015890
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПроблема в том, что не работает скиптВообще не работает, даже первая строчка кода не выполняется? В третьей строке ошибка - перевод строки так не делается.
...
Рейтинг: 0 / 0
Работа с sms-шлюзом по средствам vbs
    #38017998
burgh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleавторПроблема в том, что не работает скиптВообще не работает, даже первая строчка кода не выполняется? В третьей строке ошибка - перевод строки так не делается.
выполняется весь скрипт, но что-то не так с функцией, так как при вводе логин\пароля ничего не происходит, просит ввести 2 параметра (логин\пароль).
в третьей строке ошбки нет( при копировании на одну строку заехло).
...
Рейтинг: 0 / 0
Работа с sms-шлюзом по средствам vbs
    #38112857
Integrator2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
burgh,
а вот не могли бы вы сказать, что это за шлюз, который можно использовать по протоколу XML с вышеупомянутым кодом на VB?
Интересует конкретное название провайдера.
Да и вообще - какие провайдеры нынче есть, позволяющие SMS отправлять.
Задача действительно актуальная.

Заранее спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Работа с sms-шлюзом по средствам vbs
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]