> меня просто это убивает все об этом говорят, но толком 0 > звонишь своему оператору и спрашиваешь > например, киевстар > для тел номера xxxxxxxxxx > мэил такой xxxxxxxxxx@2sms.kyivstar.net > а для твоего позвони и узнай
Очень просто!
1. Найди сайт оператора который тебе нужен...
2. глянь внутрь формы (изучи просто html формат для отсылки. может придеца некоторые поля выкинуть а некоторые генерить самому (типа браузер, печенье итд))
3. пиши простейшего tcp клиента и спихивай на сайт форму...
4. можешь даже принимать ответ и проверь на код возврата (обычно на пагебудет написано доставлено или нет)
Недостаток такого метода - каждый раз как на сайте изменица протокол передачи вероятно придеца переписывать и клиента.
На этом простейшем принципе основаны все проги этого класса...
Я как то тоже хостил один такой проект...
> Как отправить SMS через инет? Каким серваком и протоколом > пользоваться, может кто подскажет? Советую поискать эту тему в ранее задававшихся вопросах.
А вообще, ася умеет смс рассылать.
[Win32] Как отправить SMS через инет?03.12.01 04:22 Автор: lukash Статус: Незарегистрированный пользователь
меня просто это убивает все об этом говорят, но толком 0
звонишь своему оператору и спрашиваешь
например, киевстар
для тел номера xxxxxxxxxx
мэил такой xxxxxxxxxx@2sms.kyivstar.net
а для твоего позвони и узнай
[Win32] Как отправить SMS через инет?03.12.01 04:55 Автор: BXS Статус: Незарегистрированный пользователь
> меня просто это убивает все об этом говорят, но толком 0 > звонишь своему оператору и спрашиваешь > например, киевстар > для тел номера xxxxxxxxxx > мэил такой xxxxxxxxxx@2sms.kyivstar.net > а для твоего позвони и узнай
Очень просто!
1. Найди сайт оператора который тебе нужен...
2. глянь внутрь формы (изучи просто html формат для отсылки. может придеца некоторые поля выкинуть а некоторые генерить самому (типа браузер, печенье итд))
3. пиши простейшего tcp клиента и спихивай на сайт форму...
4. можешь даже принимать ответ и проверь на код возврата (обычно на пагебудет написано доставлено или нет)
Недостаток такого метода - каждый раз как на сайте изменица протокол передачи вероятно придеца переписывать и клиента.
На этом простейшем принципе основаны все проги этого класса...
Я как то тоже хостил один такой проект...
вот я тебе выдрал часть исходника для подобных затей.
(практически это было реализовано в первых версиях P-SMS клиента. Правда проект я уже закрыл но прогу можно найти по сети...)
идея тут следующая:
Задача - послать мессагу на трубу МТС.
Скрипт на МТСе требует на входе: номера абонента, тело сообщения, время и дату. Замечу - что время и дата - существенные показатели... Мессага может не отсылаца если она просрочена итд... Если ты будешь сам вводить время и дату - то исходник которыя я приведу внизу можно будет упростить (выкинуть часть загрузки времени и даты). Предположим что ты хочешь чтобы прога полностью за тебя формировала запросы к МТС. Для реализации тебе нужно просто сэмитировать работу браузера:
1. Запросить страничку с формой
2. извлечь из нее дату и время
3. сформировать свой заголовок
4. скинуть ответ скрипту
*. отсылать можно как напрямую так и с халявных проксей (все это показано внизу)
Итак, приступаем:
// некоторые переменные может не нужны а некоторых может не хватать тут - просто я не особо церемонился... если нету - значит объяви недостающие глобальными... остальное очевидно...
struct send_properties{
char Id[12]; // тут будет телефон
char Message[500]; // мессага
char SendAfter[20];
char Repeat[5];
char Transliterate[15];
char Hour[3];
char Minute[3];
char Day[3];
char Month[3];
char Year[5];
}Send_Properties;
// заполняем адрес
if((phe=gethostbyname(MTS_SERVER))!=0){
memcpy(&MTS_IP,phe->h_addr, phe->h_length);
MTS_IP_FOUND=TRUE;
}
// заполняем поле прокси если она вааще нужна
if(PROXY_ON ==1){
wsprintf(Proxy," http://%s",MTS_SERVER);
wsprintf(IP,"%s",RegData.Proxy_Ip);
PORT = RegData.Proxy_Port;
}
else{
wsprintf(Proxy," ");
wsprintf(IP,"%s",inet_ntoa(MTS_IP));
PORT = SERVER_PORT;
}
wsprintf(Temp_Request,"GET%s%s HTTP/1.0",Proxy,MTS_PATH); // тут уже в Temp_Request есть весь HTTP GET заголовок. Тепреь добавим разной стандартной дряни
GenerateHeader(Request, Temp_Request,MTS_URL,IP); // тело этой ф-ции находица в самом низу
if((Result=Transmit_Packet(IP, PORT, Request, TRUE, MTS_BUFFER, MTS_BUFFER_SIZE))<0){
LocalFree(MTS_BUFFER);
Return=1;
goto Exit_Thread;
} // эта функция просто по открытому сокету трансферит данные. возвращает -1 если ошибка и размер трансчеренных байтов если все зашибись.
// На этом этапе мы получили стандартную страничку с сервера (ту которую ты получаешь заходя через браузер). теперь надо оттуда выдрать время и дату (по умолчанию они присылаюца сервером в скрытых полях формы)
if(PROXY_ON ==1){
wsprintf(Proxy," http://%s",MTS_SERVER);
wsprintf(IP,"%s",RegData.Proxy_Ip);
PORT = RegData.Proxy_Port;
}
else{
wsprintf(Proxy," ");
wsprintf(IP,"%s",inet_ntoa(MTS_IP));
PORT = SERVER_PORT;
}
// формируем уже настоящий запрос с сообщением wsprintf(Temp_Request,"GET%s%s?Posted=1&To=%s&Msg=%s&count=%d&SMSHour=%s&SMSMinute=%s&SMSDay=%s&SMSMonth=%s&SMSYear=%s HTTP/1.0",
Proxy,MTS_PATH, Send_Properties.Id,Send_Properties.Message, lstrlen(буфер с твоей мессагой),Send_Properties.Hour,Send_Properties.Minute,Send_Properties.Day,Send_Properties.Month,Send_Properties.Year);
GenerateHeader(Request, Temp_Request,MTS_URL,IP);
// далее можно получить ответ от скрипта и проверить на наличие фразы "сообщение отправлено" - success и failure иначе... сам решишь стоит ли...
-------------------
int GenerateHeader(char *Output, char *Input, char *Referer, char *Ip){
//эта ф-цтя гененит заголовки для закоса под разные браузеры... извращайся тут как хочешь.. в примере токо 2 case
// Оговорюсь сразу - это старый исходник, вероятно МТС поменяла пути к нужным файлам или переименовала - поэтому может не будет работать.... но это просто техническая проблема которая решаеца за 30- минут.
Юзай на здоровье!
Но а если мелодии или логотипы?04.12.01 07:06 Автор: Паша Федорцов Статус: Незарегистрированный пользователь
Спасибо большое! Но так я смогу послать текстовую SMS а мне нужно послать на трубу мелодию. Я так понимаю, что сервак MTC формирует SMS как текстовую и таким образом ничего не выйдет, или я ошибаюсь?
Но а если мелодии или логотипы?04.12.01 08:56 Автор: BXS Статус: Незарегистрированный пользователь
А с сервака по ходу и незя сливать картинки (( (по крайней мере у МТС). К тому же я описал кустарный способ для мессаг...
ася похоже совершенно иначе коннектица....