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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2011, 18:54   #1
stasones
Пользователь
 
Регистрация: 09.01.2011
Сообщений: 13
По умолчанию Авторегистратор через Get

Доброго времени суток!
Пишу программу авторегистратора. Данные шлются Get-ом, а значений много.. Ну с этим я справился, но есть проблема: после формирования ссылки по коду
Код:
zapros:='http://tel.mail.ru/cgi-bin/reg?ID='+id+'&Count=1&back=%2Fcgi-bin%2Ffolders&browserData=NoJS&'+nmail+'='+mail+'&RegistrationDomain=mail.ru&'+npas+'='+pas+'&'+nrepas+'='+pas+'&Password_Question=%C4%E5%E2%E8%F7%FC%FF+%F4%E0%EC%E8%EB%E8%FF+%EC%E0%F2%E5%F0%E8&'+nquest+'&'+notvet+'='+otvet+'&'+nname+'='+name+'&'+nfemely+'='+femely+'&'+nday+'='+day+'&BirthMonth=2&'+nyear+'=1990&'+npol+'=1&x_reg_id='+xregid+'&security_image_id=&'+ncap+'='+captha.text+'&B1=%D0%E5%E3%E8%F1%F2%F0%E0%F6%E8%FF';
И выводит ошибку Not Found. Ту же сгенерированную ссылку копирую в браузер и все нормально регестрируется!

Ссылка получается такая:
Код:
http://tel.mail.ru/cgi-bin/reg?ID=lo90sa3i&Count=1&back=%2Fcgi-bin%2Ffolders&browserData=NoJS&x_e138b6a1d5f73dac=Vasilij859611&RegistrationDomain=mail.ru&x_ec3cee9c9910c92d=8107993Mr&x_ad043c7694366828=8107993Mr&Password_Question=%C4%E5%E2%E8%F7%FC%FF+%F4%E0%EC%E8%EB%E8%FF+%EC%E0%F2%E5%F0%E8&x_27e32c116b852741&x_1ab1093e7d5cb509=81364&x_f0f7abab2d686b9f=Mr836449&x_f670b9068121daa5=Ms113779&x_29738faca01ebb32=2&BirthMonth=2&x_cc496464817477ed=1990&x_f13145b7d741e0c5=1&x_reg_id=4hdd5M0y&security_image_id=&x_48a27f3b4a5d79cf=Em 6x 6a&B1=%D0%E5%E3%E8%F1%F2%F0%E0%F6%E8%FF
Куки менеджер подключен, включен, хендл редирект включен. Так тоже не работает(и в браузере):
Код:
zapros:=TIdURI.URLEncode(zapros)
Прошу совета!

Последний раз редактировалось stasones; 11.01.2011 в 22:00.
stasones вне форума Ответить с цитированием
Старый 11.01.2011, 23:13   #2
dlauser
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 11
По умолчанию

Попробуй это:
Код:
zapros:=TIdURI.URLEncode(zapros)
заменить на это:

Код:
uses httpapp

begin
httpencode(zapros);
dlauser вне форума Ответить с цитированием
Старый 12.01.2011, 00:28   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Попробуйте связку Charles+Firefox
Перехватите get запрос и посмотрите ваш request (вроде)
вот примерчик
Цитата:
To post some data through http protocol in Delphi you can use TIDHttp component.
TIDHttp has a function Post that takes 2, first parameter is the url where you wanna post data and the second is the data you need to post.
The first parameter of Post function is a string and the second one is a TStringList.

Delphi sample code to post data through http. First put in the uses clause IdHTTP

function PostData:string;
var param:TStringList;
valid:boolean;
url,text:string;
http:TIDHttp;
begin
http := TIDHttp.Create(nil);
http.HandleRedirects := true;
http.ReadTimeout := 5000;
param:=TStringList.create;
param.Clear;
param.Add('parameter1=1');
param.Add('parameter2=2');
param.Add('parameter3=3');
valid:=true;
url:='http://www.examplesite.com/script.php';
try
text:=http.Post(url,param);
except
on E:Exception do
begin
valid:=false;
end;
end;
if valid then
PostData:= text
else
PostData := '';
end;

You can call the function like this:

textPostData := PostData();

This function returns empty string if it was an error posting data, if not it returns the text that is returned from the url that we posted data.

We created a new TIDHttp variable at runtime and put the properties ReadTimeout to 5 seconds(timeout of the connection) and HandleRedirects to true, because the url where we post data can redirect us to other page from where we get the result.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.01.2011, 01:39   #4
stasones
Пользователь
 
Регистрация: 09.01.2011
Сообщений: 13
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Попробуйте связку Charles+Firefox
Перехватите get запрос и посмотрите ваш request (вроде)
вот примерчик
В примере передача значений через пост. С этим проблем нет.
Можно сравнить ссылку, по которой переходит браузер, с исходной через снифер. Чарлез как снифером не пользуюсь. Он больше удобен для подмены запросов..
Спасибо за ответ!
stasones вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение через список выбора одного диапазона таблиц через другой P10neer Microsoft Office Excel 5 23.12.2010 23:44
Программа авторегистратор аккаунтов gmail.com stalkerfiesta Общие вопросы Delphi 9 08.04.2010 23:01
Авторегистратор на сокетах Astron Работа с сетью в Delphi 5 11.03.2010 12:06
требуется авторегистратор почты linkod Фриланс 6 08.11.2009 22:10
Связь с кучей dbf файлов (таблиц) через OLEDB через UNION ALL Sasha811 SQL, базы данных 0 01.01.2009 14:04