Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2014, 10:03   #1
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию XLM - Post запрос.

Всем привет

Пишу программку для того что бы можно было отправлять смс через инт.
Ну руководство требует.

есть xlm
<?xml version='1.0' encoding='UTF-8'?>
<data>
<login>LOGIN</login>
<password>PASSWORD</password>
<action>ACTION</action>
<text>TEXT</text>
<to number='NUMBER'></to>
</data>

надо создать программу на Delphi которая будет отправлять смс.
Все делаеться через post запрос на адрес https://lcab.smsintel.ru/API/XML/send.php
второй день сижу в интернете и ни чего толкого не нашел что то похожее есть но доле ко не айс.


прошу вашей помощи, вот в чем:

1. Мне надо создавать файл или можно сразу же отправлять xml код через HTTP?
2. Как это реализовать можно? так как я ни чего не могу придумать.

Если есть книги по этому то скинте ссылки.

Спасибо за помощь.

Последний раз редактировалось Dj_DeVaIs; 26.09.2014 в 10:04. Причина: 1111
Dj_DeVaIs вне форума Ответить с цитированием
Старый 26.09.2014, 11:22   #2
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

вот так не работает(((
var
stringstream: TStringStream;
begin
stringstream:=TStringStream.Create( '');
try
stringstream.WriteString('?xml version="1.0" encoding="UTF-8"?');
stringstream.WriteString('<data>');
stringstream.WriteString('<login>LO GIN</login>');
stringstream.WriteString('<password >PASSWORD</password>');
stringstream.WriteString('<action>A CTION</action>');
stringstream.WriteString('<text>TEX T</text>');
stringstream.WriteString('<to number='NUMBER'></to>');
stringstream.WriteString('</data>');
IdHTTP1.Request.ContentType:='appli cation/x-www-form-urlencoded';
IdHTTP1.Request.ContentLength:=stri ngstream.Size;
stringstream.Position:=0;
Memo1.Text:=IdHTTP1.Post('https://lcab.smsintel.ru/API/XML/send.php', stringstream);
finally
stringstream.Free;
end;
end;

может кто нибудь знает как через php все это сделать?
так как смс сервер предлагает:
$xml = "<?xml version='1.0' encoding='UTF-8'?>
<data>
<login>LOGIN</login>
<password>PASSWORD</password>
<action>send</action>
<text>TEXT</text>
<to number='89010003333'></to>
</data>";

$address = "https://lcab.smsintel.ru/API/XML/send.php";
$ch = curl_init($address);
curl_setopt($ch, CURLOPT_URL, $address);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
echo $result;
curl_close($ch);
Dj_DeVaIs вне форума Ответить с цитированием
Старый 26.09.2014, 11:31   #3
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Сообщение от Dj_DeVaIs Посмотреть сообщение
Пишу программку для того что бы можно было отправлять смс через инт.
Ну руководство требует.
Руководство вам за это платит. Было бы справедливо поделиться.
indexx вне форума Ответить с цитированием
Старый 26.09.2014, 11:37   #4
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

Цитата:
Сообщение от indexx Посмотреть сообщение
Руководство вам за это платит. Было бы справедливо поделиться.
если полностью напишите код то я поделюсь. а так я прошу вашей помощи. если не знаете то не надо ни чего писать.
Dj_DeVaIs вне форума Ответить с цитированием
Старый 26.09.2014, 11:44   #5
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Вообще знаю. Но:
1) В виду прошедшего урагана на юге России, не имею под рукой рабочей розетки для зарядки бука, а потому пишу с дроида. А он, увы, не желает запускать делфи. Смогу написать код только завтра.
2) Обещанного три года ждут.
indexx вне форума Ответить с цитированием
Старый 27.09.2014, 00:41   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Обычно в документации технически четко расписано как отправлять, как кодировать исходящее сообщение, куда его слать.

Обратитесь к документации - это все чем мы вам можем помочь.

Написать за вас это:
1. Где-то там фриланс
2. Вы должны будете дать доступ к документации.


Поскольку сайтец требует авторизации то работа с ним тоже идет через спец. API ключ доступа для взаимодействия с системой, иначе каждый желающий перестанет использовать яйца(ну или кого там) для платных СМС, и начнет использовать ПО через этот сайтец.
Человек_Борща вне форума Ответить с цитированием
Старый 28.09.2014, 10:53   #7
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

Ребята я не прошу вас писать код. я и сам могу это. мне нужен ваш совет.

вот по этим 2 вопросом.
1. Мне надо создавать файл или можно сразу же отправлять xml код через HTTP?
2. Как это реализовать можно? отправку не записывая в файл.


В документации про delphi нет ни чего там только xml, php, c++ с этим направлениями программирования я не работал и не знаю как с ними работать.


вот так можно через php:
$xml = "<?xml version='1.0' encoding='UTF-8'?>
<data>
<login>LOGIN</login>
<password>PASSWORD</password>
<action>send</action>
<text>TEXT</text>
<to number='89010003333'></to>
</data>";

$address = "https://lcab.smsintel.ru/API/XML/send.php";
$ch = curl_init($address);
curl_setopt($ch, CURLOPT_URL, $address);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
echo $result;
curl_close($ch);

но как мне все это сделать через delphi?
помогите плиз. направите в правильном направлении.
Dj_DeVaIs вне форума Ответить с цитированием
Старый 28.09.2014, 11:49   #8
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Сообщение от Dj_DeVaIs Посмотреть сообщение
1. Мне надо создавать файл или можно сразу же отправлять xml код через HTTP?
Зачем создавать файл для текста? TMemoryStream (TStringStream и т.д.) в помощь
Цитата:
Сообщение от Dj_DeVaIs Посмотреть сообщение
2. Как это реализовать можно? отправку не записывая в файл.
Читай выше. Дополню что инди может отправлять практически что угодно. В данном случае нужно отправить поток. Через String не советую, так как обработчик инди конвертирует строку функцией URLEncode, и убьёт структуру XML.
indexx вне форума Ответить с цитированием
Старый 28.09.2014, 17:05   #9
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

[QUOTE=indexx;1418009]Зачем создавать файл для текста? TMemoryStream (TStringStream и т.д.) в помощь

ни чего не понял как это сделать(((
Dj_DeVaIs вне форума Ответить с цитированием
Старый 28.09.2014, 17:12   #10
Dj_DeVaIs
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 52
По умолчанию

про бывал вот таким методом:

var
str:TStringList;

PostData: TMemoryStream;
begin
SSLIOHandlerSocketOpenSSL:=TIdSSLIO HandlerSocketOpenSSL.Create(IdHTTP1 );
SSLIOHandlerSocketOpenSSL.SSLOption s.Method:=sslvSSLv3;
IdHTTP1.IOHandler:=SSLIOHandlerSock etOpenSSL;
str:= TStringList.Create;
str.add('<?xml version="1.0" encoding="UTF-8"?><data><login></login><password></password><action>send</action><text>TEXT</text><to number="******"></to></data>');

Label1.Caption:=IdHttp1.Post('https ://lcab.smsintel.ru/API/XML/send.php',str);



не работает. засовывал текст в memo, label, итд то же не работает. где я не прав.
Dj_DeVaIs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
post запрос topinaka C/C++ Сетевое программирование 0 13.06.2012 09:52
Post запрос nakazanie Работа с сетью в Delphi 4 14.02.2011 11:52
POST запрос timyr1997 Работа с сетью в Delphi 2 05.07.2010 20:54
POST запрос DeDoK Работа с сетью в Delphi 6 12.07.2009 00:48
XLM ошибка ora-31001 D-mon БД в Delphi 0 13.08.2008 15:09