Пятница, 19.04.2024, 16:09 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
delphicode » Delphi » Вопросы по Delphi » Ошибка HTTP
Ошибка HTTP
alex0097Дата: Пятница, 05.10.2012, 00:37 | Сообщение # 1
Частый гость
Зарегистрирован: 11.07.2010
Группа: Пользователи
Сообщений: 51
Статус: Offline
Может кто подскажет. Уже всю голову сломал. В чем может быть проблема((( Не подрубается к проксям. В делфях выбивает это сообщение

Quote
First chance exception at $76CDB9BC. Exception class EIdHTTPProtocolException with message 'HTTP/1.1 403 Forbidden'. Process Project1.exe (6280)


Исходник:

Code
procedure TForm1.BitBtn1Click(Sender: TObject);
var searchResult : TSearchRec;
begin
   Randomize;
   if (TypeProxy<>0) then
    ProxyList.LoadFromFile(ExtractFilePath(Application.ExeName)+'proxy.txt');

   Follow:=CheckBox2.Checked;
   Followname:=Edit2.Text;

   Avatar:=CheckBox1.Checked;
   Description:=CheckBox4.Checked;
   if Description then
    begin
     Location:=LabeledEdit1.Text;
     Site:=LabeledEdit2.Text;
     About:=LabeledEdit3.Text;
    end;

   ProxyGlob:=-1;
   AssignFile(Accounts,ExtractFilePath(Application.ExeName)+'accounts.txt');

   NameList.Clear;
   NameList.LoadFromFile(ExtractFilePath(Application.ExeName)+'name.txt');

   if CheckBox1.Checked then
    begin
     Avatar:=true;
     AvatarList.Clear;
     if FindFirst('avatars\*.*', faAnyFile, searchResult) = 0 then
      begin
       repeat
        if (searchResult.Name<>'..') and (searchResult.Name<>'.') then
         AvatarList.Add(searchResult.Name);
       until FindNext(searchResult)<>0;
      end;
     if AvatarList.Count=0 then
      begin
       Avatar:=false;
       CheckBox1.Checked:=false;
      end;
    end
   else Avatar:=false;

   TCheckThread.Create(false);
end;

procedure TCheckThread.Execute;
var HTTP: TIdHTTP;
      IdSocksInfo: TIdSocksInfo;
      IdSSLIOHandlerSocketOpenSSL: TIdSSLIOHandlerSocketOpenSSL;
      ProxyLoc:integer;
      Page,Page2,fcaptcha,twname, twpass,twfullname:string;
      s:utf8string;
      multi: Tidmultipartformdatastream;
      error:boolean;
      Data: TStringList;
      MS:TMemoryStream;
      pic: TGifImage;
      ftp: TIdFTP;

begin
ftp:=TIdFTP.Create;
   while true do
   begin
    second:=false;
    Http := TIdHTTP.Create(nil);
    Http.AllowCookies:=true;
    with Http.Request do
    begin
     UserAgent:='Opera/9.80 (Windows NT 6.0; U; ru) Presto/2.2.15 Version/10.10';
     Accept:='text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1';
     AcceptLanguage:='ru-RU,ru;q=0.9,en;q=0.8';
     AcceptCharset:='windows-1251, utf-8, utf-16, *;q=0.1';
     ContentType:='application/x-www-form-urlencoded';
    end;
    HTTP.HandleRedirects:=false;
    Http.ConnectTimeout:=30000;
    Http.ReadTimeout:=30000;
    HTTP.OnStatus:=form1.IdHTTP1Status;
    IdSocksInfo:= TIdSocksInfo.Create;
    IdSSLIOHandlerSocketOpenSSL:= TIdSSLIOHandlerSocketOpenSSL.Create(http);
    HTTP.IOHandler:=IdSSLIOHandlerSocketOpenSSL;

   CS.Enter;
    if (TypeProxy<>0) then
     begin
      inc(ProxyGlob);
      if ProxyGlob>=ProxyList.Count then ProxyGlob:=0;
      ProxyLoc:=ProxyGlob;
      Form1.Memo1.Lines.Add('Используем прокси: '+ProxyList[ProxyLoc]);
      if TypeProxy=1 then
       begin
        HTTP.ProxyParams.ProxyServer:=Copy(ProxyList[ProxyLoc],1,Pos(':',ProxyList[ProxyLoc])-1);
        HTTP.ProxyParams.ProxyPort:=StrToInt(Copy(ProxyList[ProxyLoc],Pos(':',ProxyList[ProxyLoc])+1,Length(ProxyList[ProxyLoc])-Pos(':',ProxyList[ProxyLoc])));
       end
      else if TypeProxy=2 then
       begin
        IdSocksInfo.Version:=svSocks4;
        IdSocksInfo.Host:=Copy(ProxyList[ProxyLoc],1,Pos(':',ProxyList[ProxyLoc])-1);
        IdSocksInfo.Port:=StrToInt(Copy(ProxyList[ProxyLoc],Pos(':',ProxyList[ProxyLoc])+1,Length(ProxyList[ProxyLoc])-Pos(':',ProxyList[ProxyLoc])));
        IdSocksInfo.Authentication:= saNoAuthentication;
        IdSSLIOHandlerSocketOpenSSL.TransparentProxy:=IdSocksInfo;
        HTTP.IOHandler:=IdSSLIOHandlerSocketOpenSSL;
        IdSSLIOHandlerSocketOpenSSL.ConnectTimeout:=30000;
        IdSSLIOHandlerSocketOpenSSL.ReadTimeout:=30000;
       end
      else
       begin
        IdSocksInfo.Version:=svSocks5;
        IdSocksInfo.Host:=Copy(ProxyList[ProxyLoc],1,Pos(':',ProxyList[ProxyLoc])-1);
        IdSocksInfo.Port:=StrToInt(Copy(ProxyList[ProxyLoc],Pos(':',ProxyList[ProxyLoc])+1,Length(ProxyList[ProxyLoc])-Pos(':',ProxyList[ProxyLoc])));
        IdSocksInfo.Authentication:= saNoAuthentication;
        IdSSLIOHandlerSocketOpenSSL.TransparentProxy:=IdSocksInfo;
        HTTP.IOHandler:=IdSSLIOHandlerSocketOpenSSL;
        IdSSLIOHandlerSocketOpenSSL.ConnectTimeout:=30000;
        IdSSLIOHandlerSocketOpenSSL.ReadTimeout:=30000;
       end;
     end;
    Form1.Memo1.Lines.Add('Запрос страницы регистрации');
    CS.Leave;
     error:=false;
    try
     Page:=Http.Get('https://mobile.twitter.com/signup');
    except
     error:=true;
     CS.Enter;
     Form1.Memo1.Lines.Add('Ошибка запроса');
     CS.Leave;
    end;
     Form1.Memo1.Lines.Add('запрос выполнен');
    if not(error) then
     begin
      CS.Enter;
      Form1.Memo1.Lines.Add('Запрос каптчи');
      CS.Leave;
      fcaptcha:=pars('name="captcha_challenge_field" value="',Page,'"');
      MS:=TMemoryStream.Create;
      try
       HTTP.Get('https://mobile.twitter.com/signup/captcha/'+fcaptcha+'.gif',MS);
      except
       error:=true;
       CS.Enter;
       Form1.Memo1.Lines.Add('Ошибка запроса капчи');
       CS.Leave;

      end;


Сообщение отредактировал alex0097 - Пятница, 05.10.2012, 00:39
 
NeoДата: Пятница, 05.10.2012, 05:02 | Сообщение # 2
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Quote (alex0097)
Exception class EIdHTTPProtocolException with message 'HTTP/1.1 403 Forbidden'

Ошибка 403 "Отказ в доступе/Доступ запрещен"
 
alex0097Дата: Пятница, 05.10.2012, 09:40 | Сообщение # 3
Частый гость
Зарегистрирован: 11.07.2010
Группа: Пользователи
Сообщений: 51
Статус: Offline
Neoгде именно доступ запрещен? Прокси или где?
 
alex0097Дата: Пятница, 05.10.2012, 17:50 | Сообщение # 4
Частый гость
Зарегистрирован: 11.07.2010
Группа: Пользователи
Сообщений: 51
Статус: Offline
Neo мне сказали что код просто написан криво...
 
FrizДата: Четверг, 11.10.2012, 03:29 | Сообщение # 5
Был не раз
Зарегистрирован: 13.02.2011
Группа: Пользователи
Сообщений: 20
Статус: Offline
В правах дело.
 
alex0097Дата: Четверг, 11.10.2012, 11:23 | Сообщение # 6
Частый гость
Зарегистрирован: 11.07.2010
Группа: Пользователи
Сообщений: 51
Статус: Offline
Friz в каких? Я чет туплю
 
Don_DiegoДата: Четверг, 11.10.2012, 16:28 | Сообщение # 7
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Может он имеет ввиду в правах доступа на сервере? Типа 777 ему надо?
 
alex0097Дата: Четверг, 11.10.2012, 20:27 | Сообщение # 8
Частый гость
Зарегистрирован: 11.07.2010
Группа: Пользователи
Сообщений: 51
Статус: Offline
Don_Diego, может и имеет это в виду. Но все перепробывал. Возможно не хватает каких нить куков...
 
dolphinДата: Суббота, 20.10.2012, 14:15 | Сообщение # 9
Администратор
Сообщений: 906
Статус: Offline
Попробуй для начала подключится к серверу с явно рабочего софта, если получится, значит проблема в коде.
 
delphicode » Delphi » Вопросы по Delphi » Ошибка HTTP
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz