Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Работа с sms-шлюзом по средствам vbs / 6 сообщений из 6, страница 1 из 1
26.10.2012, 10:49
    #38014200
burgh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с sms-шлюзом по средствам vbs
Есть некий сайт предоставляющий услуги смс рассылки и т.п
Для того, чтобы отправить сообщение нужно отправит сформированную 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
26.10.2012, 11:47
    #38014288
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с sms-шлюзом по средствам vbs
burghЧто я делаю не так ?)Задаете вопросы не так.

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

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

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


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