помогите с отправкой post на сайт
simawert Дата: Воскресенье, 22.05.2011, 01:23 | Сообщение # 1
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
вот собственно захотел написать ехе которое отправляло б смс на ру мтс, но столкнулся с проблемой, не хочет выполнятся ниже указаный код. пробывал через TStringList тоже глухо, да плюс к этому с теми же параметрами выдает ошибку 500. помогите кто чем может...
Code
var post: TIdMultiPartFormDataStream; begin post := TIdMultiPartFormDataStream.Create; post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$scriptManagerId','ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingCon trol$ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$updatePanelPanel'+'|ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$c tl01$ctl00$SmsSendingControl$btnSend'); post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_scriptManagerId_TSM',';;System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35:ru-RU:1f68db6e-ab92-4c56-8744-13e09bf43565:ea597d4b:b25378d2;'+'Telerik.Web.UI, Version=2010.2.929.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4:ru-RU:183fb741-216d-4765-9b46-4a1f5d38fdd7:16e4e7cd:86526ba7:ed16cbdc:f7645509:24ee1bba:1e771326:aa288e2d'); POST.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_scriptManagerId_TSM',''); post.AddFormField('__EVENTTARGET',''); post.AddFormField('__EVENTARGUMENT',''); post.AddFormField('LBD_VCT_live_nd_smssending_ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_smssendingcontrol_captchanew',pars('id=" LBD_VCT_live_nd_smssending_ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_smssendingcontrol_captchanew" value="',memo2.Text,'" />')); post.AddFormField('__VIEWSTATE',pars('name="__VIEWSTATE" id="__VIEWSTATE" value="',memo2.Text,'" /')); post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_rfdFormDecorator_ClientState',''); post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_RadFormDecorator1_ClientState',''); post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$tbPhoneNumber',Edit1.Text); post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$tbMessage',UTF8Encode(memo1.Text)); post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$tbCode',Edit2.Text); post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl01',pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ ctl01$ctl01$ctl00$SmsSendingControl$ctl01","_value":"',memo2.Text,'",')); post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl01_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl01","_value":"',memo2.Text,'",')+'","text":"'+p ars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl01","_value":"',memo2.Text,'",')+'","enabled":false}'); post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl02',pars('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ ctl01_ctl01_ctl00_SmsSendingControl_ctl02_Input" value="',memo2.Text,'"')); post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl02_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl02","_value":"',memo2.Text,'"')+'","text":"'+pa rs('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl02_Input" value="',memo2.Text,'"')+'","enabled":false}'); post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl03',pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ ctl01$ctl01$ctl00$SmsSendingControl$ctl03","_value":"',memo2.Text,'"')); post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl03_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl03","_value":"',memo2.Text,'"')+'","text":"'+pa rs('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl03","_value":"',memo2.Text,'"')+'","enabled":false}'); post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl04',pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ ctl01$ctl01$ctl00$SmsSendingControl$ctl04","_value":"',memo2.Text,'"')); post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl04_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl04","_value":"',memo2.Text,'"')+'","text":"'+pa rs('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl04","_value":"',memo2.Text,'"')+'","enabled":false}'); post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl06',pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ ctl01$ctl01$ctl00$SmsSendingControl$ctl06","_value":"',memo2.Text,'"')); post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl06_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl06","_value":"',memo2.Text,'"')+'","text":"'+pa rs('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl06","_value":"',memo2.Text,'"')+'","enabled":false}'); post.AddFormField('__ASYNCPOST','true'); Randomize; post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$btnSend.x',inttostr(random(80))); post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$btnSend.y',inttostr(random(20))); post.AddFormField('RadAJAXControlID','ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_updatePanel'); Memo2.Lines.Text := IE.Post('http://www.mts.ru/messaging1/sendsms/', POST); Memo2.Lines.Text := Utf8ToAnsi(Memo2.Lines.Text);
dolphin Дата: Воскресенье, 22.05.2011, 08:40 | Сообщение # 2
Администратор
Сообщений: 906
Статус: Offline
Какая версия делфи? Возможно проблемы с кодировкой.
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
simawert Дата: Воскресенье, 22.05.2011, 09:52 | Сообщение # 3
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
delphi7 снифом посмотрел, передает все норм, причем текст сообщения передаю в utf-8 ф-й UTF8ENCODE так как оно требует...
dolphin Дата: Воскресенье, 22.05.2011, 10:19 | Сообщение # 4
Администратор
Сообщений: 906
Статус: Offline
У меня тоже были проблемы при работе в интернете на d7 (функции для работы с юникодом в ней есть но по факту лично у меня они не работали) решил это установив на время d2010. Но это при условии что код поста верный.
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
simawert Дата: Воскресенье, 22.05.2011, 10:23 | Сообщение # 5
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
мм... тоесть ты хош сказать что трабла в самом компиляторе? мда... ну д2010 мне скачать ща не откуда, так как на 3Ж сижу... но обьсни тогда плз почему сниф говорит что с кодировкой все норм?
dolphin Дата: Воскресенье, 22.05.2011, 10:30 | Сообщение # 6
Администратор
Сообщений: 906
Статус: Offline
Лично сам особо не копал в этом направлении, думаю другие участники форума подскажут. Констатирую просто по своему личному опыту: писал на d2010 + indy10 проверял через Http Analyzer 5, только после этого заработало.
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
simawert Дата: Воскресенье, 22.05.2011, 10:37 | Сообщение # 7
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
)) у меня почти таже история д7+инди9+Http Analyzer 5))
simawert Дата: Воскресенье, 22.05.2011, 10:38 | Сообщение # 8
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
да хотел полезную софтинку навоять... но видать не судьба*(
C@T Дата: Воскресенье, 22.05.2011, 11:29 | Сообщение # 9
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
а ты передавал параметр Content-Type: application/x-www-form-urlencoded ?
simawert Дата: Воскресенье, 22.05.2011, 12:18 | Сообщение # 10
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
да
C@T Дата: Воскресенье, 22.05.2011, 12:44 | Сообщение # 11
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
а можеш показать какие запросы ты отсылал (отснифаные HTTP запросы)?
simawert Дата: Воскресенье, 22.05.2011, 15:22 | Сообщение # 12
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
те что я передаю или с оригинал сайта мтс?
C@T Дата: Воскресенье, 22.05.2011, 15:55 | Сообщение # 13
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
давай и те, и те
simawert Дата: Воскресенье, 22.05.2011, 16:43 | Сообщение # 14
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
ну смотри... в архиве пост с ехе и пост запрос с сайта... http://www.sendspace.com/file/sw030u
C@T Дата: Воскресенье, 22.05.2011, 20:41 | Сообщение # 15
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
так это же не HTTP запросы, а результат запросов
simawert Дата: Воскресенье, 22.05.2011, 22:05 | Сообщение # 16
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
Code
var post: Tstringlist; begin post := Tstringlist.Create; post.add('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$scriptManagerId=ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ct l00$ ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$updatePanelPanel'+'|ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$ SmsSendingControl$btnSend'); post.add('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_scriptManagerId_TSM=;;System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35:ru-RU:1f68db6e-ab92-4c56-8744-13e09bf43565:ea597d4b:b25378d2;'+'Telerik.Web.UI, Version=2010.2.929.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4:ru-RU:183fb741-216d-4765-9b46-4a1f5d38fdd7:16e4e7cd:86526ba7:ed16cbdc:f7645509:24ee1bba:1e771326:aa288e2d'); POST.add('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_scriptManagerId_TSM='); post.add('__EVENTTARGET='); post.add('__EVENTARGUMENT='); post.add('LBD_VCT_live_nd_smssending_ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_smssendingcontrol_captchanew='+pars('id="LBD _VCT_ live_nd_smssending_ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_smssendingcontrol_captchanew" value="',memo2.Text,'" />')); post.add('__VIEWSTATE='+pars('name="__VIEWSTATE" id="__VIEWSTATE" value="',memo2.Text,'" /')); post.add('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_rfdFormDecorator_ClientState='); post.add('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_RadFormDecorator1_ClientState='); post.add('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$tbPhoneNumber='+Edit1.Text); post.add('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$tbMessage='+UTF8Encode(memo1.Text)); post.add('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$tbCode='+Edit2.Text);//post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl01',pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ ctl01$ctl01$ctl00$SmsSendingControl$ctl01","_value":"',memo2.Text,'",')); //post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl01_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl01","_value":"',memo2.Text,'",')+'","text":"'+p ars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl01","_value":"',memo2.Text,'",')+'","enabled":false}'); //post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl02',pars('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ ctl01_ctl01_ctl00_SmsSendingControl_ctl02_Input" value="',memo2.Text,'"')); //post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl02_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl02","_value":"',memo2.Text,'"')+'","text":"'+pa rs('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl02_Input" value="',memo2.Text,'"')+'","enabled":false}'); //post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl03',pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ ctl01$ctl01$ctl00$SmsSendingControl$ctl03","_value":"',memo2.Text,'"')); //post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl03_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl03","_value":"',memo2.Text,'"')+'","text":"'+pa rs('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl03","_value":"',memo2.Text,'"')+'","enabled":false}'); //post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl04',pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ ctl01$ctl01$ctl00$SmsSendingControl$ctl04","_value":"',memo2.Text,'"')); //post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl04_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl04","_value":"',memo2.Text,'"')+'","text":"'+pa rs('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl04","_value":"',memo2.Text,'"')+'","enabled":false}'); //post.AddFormField('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl06',pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ ctl01$ctl01$ctl00$SmsSendingControl$ctl06","_value":"',memo2.Text,'"')); //post.AddFormField('ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_ctl06_ClientState','{"logEntries":[],"value":"'+pars('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl06","_value":"',memo2.Text,'"')+'","text":"'+pa rs('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$ctl06","_value":"',memo2.Text,'"')+'","enabled":false}'); post.Add('__ASYNCPOST=true'); Randomize; post.Add('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$btnSend.x='+inttostr(random(80))); post.Add('ctl00$ctl00$ctl00$ctl03$ctl00$ctl04$ctl01$ctl01$ctl00$SmsSendingControl$btnSend.y='+inttostr(random(20))); post.Add('RadAJAXControlID=ctl00_ctl00_ctl00_ctl03_ctl00_ctl04_ctl01_ctl01_ctl00_SmsSendingControl_updatePanel'); ie.Request.ContentType:='application/x-www-form-urlencoded'; Memo2.Text := IE.Post('http://www.mts.ru/messaging1/sendsms/', POST); Memo2.Text := Utf8ToAnsi(Memo2.Text);
это то что передаю я... ну а параметры с сайта тут... _www.mts.ru/messaging1/sendsms/
Сообщение отредактировал dolphin - Понедельник, 23.05.2011, 08:43
C@T Дата: Понедельник, 23.05.2011, 17:50 | Сообщение # 17
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
у тебя в запросе присутствуют пробелы, попытайся либо от них избавится, либо заменить их на %20 или + () да и лутше вобще все символы кроме = и англ букв передавать в urlencode а если уж ничего не помогает то попытайся это все переписать на сокеты
P.S запусти сниффер и отснифай как твой браузер передает пост запрос на сайт и вставь этот запрос в свою прогу
Сообщение отредактировал C@T - Понедельник, 23.05.2011, 17:52
simawert Дата: Вторник, 24.05.2011, 02:11 | Сообщение # 18
Был не раз
Зарегистрирован: 22.05.2011
Группа: Пользователи
Сообщений: 10
Статус: Offline
Quote (simawert )
)) у меня почти таже история д7+инди9+Http Analyzer 5))
вроде понятно описал... зы. спс большое буду копать дальше...