Используя метод POST и библиотеку MSXML2.ServerXMLHTTP
у меня получается отправить русский текст в смс на сервер.
но не могу прочитать ответ сервера ( не читабельный знак вопроса в ответе)
DECLARE @url varchar(300)
DECLARE @win int
DECLARE @hr int
SET @url = 'http://alfa-sms.ru:8080/smw/aisms'
declare @test nvarchar (1000)
declare @bin as binary(8000)
EXEC @hr=sp_OACreate 'MSXML2.ServerXMLHTTP',@win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win, 'Open',null,'POST',@url,0
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,N'setRequestHeader',NULL, 'Content-type', 'application/x-www-form-urlencoded; charset=UTF-8'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,'Send',NULL,'user=??????&pass=??????&action=post_sms&message=Hello Дядя&target=???????'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAGetProperty @win,'ResponseText', @test output
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OADestroy @win
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
select @test as ff
select @bin as nc
Используя метод get и библиотеку Microsoft.XMLHTTP
не получается отправить смс с русским текстом ( вместо русских букв приходят знаки вопроса)
но нормально читается ответ сервера
DECLARE
@url nvarchar(800) = N'http://alfa-sms.ru:8080/smw/aisms?user=?????&pass=?????&action=post_sms&message=Hello Вася&target=7????????'
, @win int
, @test varchar (1000)
EXEC sp_OACreate 'Microsoft.XMLHTTP',@win OUT
EXEC sp_OAMethod @win, 'Open',null,'GET',@url,0
EXEC sp_OAMethod @win,'Send'
EXEC sp_OAGetProperty @win,'ResponseText', @test output
select @test
EXEC sp_OADestroy @win
при использовании метода SEND библиотеки Microsoft.XMLHTTP
не получается передать параметры SEND вываливается ошибка :
0x80070057 msxml3.dll Параметр задан неверно.
DECLARE
@url nvarchar(800) = N'http://alfa-sms.ru:8080/smw/aisms'
, @win int
, @test varchar (1000)
, @send nvarchar = N'user=******&pass=*****&action=post_sms&message=Hello Зоя&target=*******'
, @er int
EXEC sp_OACreate 'Microsoft.XMLHTTP',@win OUT
EXEC sp_OAMethod @win, 'Open',null,'GET',@url,0
EXEC @er=sp_OAMethod @win,'Send',null,@send
IF @er <> 0 EXEC sp_OAGetErrorInfo @win
EXEC sp_OAGetProperty @win,'ResponseText', @test output
select @test
EXEC sp_OADestroy @win