Написал программу через пост запрос.
Если гуд то дает ошибку :
HTTP/1.0 403 Forbidden.
А если делаю проверку на бад, то в мемо записывает бад,ну а гуд тупо вылетает ошибка ^______^
вот код:
Код:
var
data:TStringList;
PageProfile:string;
begin
IdHTTP1.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
IdCookieManager1:=IdHTTP1.CookieManager;
IdHTTP1.AllowCookies:=True;
IdHTTP1.HandleRedirects:=True;
IdHTTP1.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)';
data:=TStringList.Create;
data.Add('redirect=');
data.Add('email='+edit1.Text);
data.Add('password='+Edit2.Text);
data.Add('submit=Sign in');
PageProfile:=IdHTTP1.Post('https://site/login/', data);
if Pos('Sign out', PageProfile)<>0 then
begin
Memo1.Lines.Add('GOOD: '+Edit1.Text+';'+edit2.Text);
end
else
begin
memo1.Lines.Add('BAD: '+Edit1.Text+';'+edit2.Text);
end;
data.free;
end;
end.
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Forbidden
Yor don`t have permission to access /cgi-bin on this server.
Apache/2.0.52(ASPLinux) Server at 192.168.0.106 Port 80
Ошибка 403 Forbidden (Запрещено) - была зарезервирована на http/1.0. Сервер принимает запрос, но он не хочет его выполнять, потому что, присутствуют ограничения пользователя в доступе по указанному ресурсу.
Если, для доступа к данному ресурсу требуется аутентификация по средствам HTTP, то сервер возвращает в ответ 401 ошибку (либо 407 для прокси-серверов). В противном случае ограничения, которые привели к ошибке 403, были заданы серверным администратором или разработчиком WEB – приложений и могут быть, эти ограничения, любыми в соответствии с возможностями используемого ПО. ПО(Программное обеспечение) – это совокупность программ системной обработки информации и программного продукта, нужного для эксплуатации этим программам.
В любом из случаев Вам следует обратиться к системному администратору данного ресурса и сообщить причины отказа запроса.
Наиболее часто встречаемые причины возникновения ограничений, могут послужить:
• Попытки доступа к системным ресурсам WEB-серверов(например к файлам htaccess, а также htpassword) или например к файлам, доступ к которым был запрещен с помощью конфигурационных файлов.
• Для доступа требуется аутентификация не по средствам HTTP(например, для доступа к ЦМС или к разделу для уже зарегистрированных пользователей).
• Сервер не доволен IP-адресом пользователя(например, временно заблокировал из-за частых обращений к нему или на этапе разработки приложения доступы были разрешены только нескольким IP-адресам ).
Как я понел надо подключить прокси?
Последний раз редактировалось pavel!; 31.03.2012 в 16:52.
Причина: Добавлено сообщение
cмотрите еще такая проблема Connection Closed Gracefully
нагуглил такое :
Это сообщение вашего клиента о закрытии соединения. Причем успешном и без ошибок.
Но в мемо не записывает что это гуд, а просто прирывает процесс.
Как мне обойти это ошибку? что бы она не вылетала и записывало в мемо что удачно?
pavel!, сервер, почему-то, не пропускает вашу программу к себе, то есть удачно закрывает с ней соединение.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
pavel!, сервер, почему-то, не пропускает вашу программу к себе, то есть удачно закрывает с ней соединение.
Гугл тоже выдает такое
Почему-то у меря разные отправки куки...это может евлятся такой проблеммой?
Когда в ручную делаю запрос то отправка куки одна, а когда через программу то куки вообще отправляются по другому.
если в ручную то тект в куки огромный, а если програмно то то вообще короткое сообщения.
ребята проблема все идет в бад, хотя по сниферу смотрю что авторизация прошла, а в мемо бад.
Цитата:
IdHTTP1.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
IdHTTP1.CookieManager:=IdCookieManager1;
IdHTTP1.AllowCookies:=True;
IdHTTP1.HandleRedirects:=True;
IdSSLIOHandlerSocketOpenSSL1.RecvBufferSize:=300;
IdSSLIOHandlerSocketOpenSSL1.SendBufferSize:=300;
IdSSLIOHandlerSocketOpenSSL1.ReadTimeout:=1000000;
IdHTTP1.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)';
data:=TStringList.Create;
data.Add('j_username='+edit1.Text);
data.Add('j_password='+Edit2.Text);
try
IdHTTP1.Post('https://world.needforspeed.com/nfsw_web_security_check', data);
except
end;
if Pos('Location:[Ссылки могут видеть только зарегистрированные пользователи. ]', IdHTTP1.Response.ResponseText)<>0 then
begin
Memo1.Lines.Add('GOOD: '+Edit1.Text+';'+edit2.Text);
end
else
begin
memo1.Lines.Add('BAD: '+Edit1.Text+';'+edit2.Text);
end;
end;
end.
по сниферу гляжу где авторизация удалася тогда:
Location:[Ссылки могут видеть только зарегистрированные пользователи. ]
по HTTP/1.1 302 Moved Temporarily не получается ибо когда ответ от сервера HTTP/1.1 302 Moved Temporarily при удачном и не удачной авторизации.
ребят помогите.
Location:[Ссылки могут видеть только зарегистрированные пользователи. ]
по HTTP/1.1 302 Moved Temporarily не получается ибо когда ответ от сервера HTTP/1.1 302 Moved Temporarily при удачном и не удачной авторизации.
ребят помогите.
Ну дак ты перейди вручную по ссылке. И смотри в снифере, после первого запроса ты получил куки?