Delphi - Пару вопросов

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by RexelNet, 17 Dec 2011.

  1. RexelNet

    RexelNet Member

    Joined:
    21 Oct 2010
    Messages:
    24
    Likes Received:
    9
    Reputations:
    -5
    Уже который день голову ломаю, нехера абсолютно не получается, решил обратится к знающим.

    1 - Как получить код html страницы через socks 4/5 на winsocks? Готовые компоненты типо indy и прочее, не интересуют.
    2 - Есть такой код :
    PHP:
    function test(host:string):string;
    var
      
    I,B:integer;
      
    buff:string;

    begin
    i
    :=Pos('str1',Buff);
    b:=Pos('str2',Buff);
    if 
    0 then
    form1
    .Memo2.Lines.Add(host);
    if 
    0 then
    form1
    .Memo2.Lines.Add(host)
    else 
    form1.Memo3.Lines.Add(host)
    end;
    Функция проверяет в buff 2 слова к примеру, если первое слово не нашло, то нужно проверить второе, и записать , если второе слово не нашло, то тогда записать в другое memo. У меня нихрена не получается почему то, в delphi не особо силён, ткните пожалуйста носом где я туплю, и как сделать код чтоб работал.В гугле пробывал искать решение проблемы так и не нашел, так как незнаю где именно туплю. Зарание благодарю кто поможет.


    upd:Если в buff нет слова, почему то закидывает все равно в memo2
    upd 2: Если сначала проверить слово которое есть , а потом которого нет в buff , кидает всё в одно кучу, а если сначала проверить которого нет, то всё нормально,до того, пока снова не проверю слово, которое есть, что сделать чтоб исправить чтобы нормально работало?
     
    #1 RexelNet, 17 Dec 2011
    Last edited: 17 Dec 2011
  2. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Берете книгу по сокетам, читаете, получаете, по Socks4/5 читаете RFC
    перечитайте, осмыслите и перепишите этот бред более внятно
     
  3. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    843
    Likes Received:
    170
    Reputations:
    84
    PHP:
    unit Unit1;
             interface
            
    uses WindowsMessagesSysUtilsClassesGraphicsControlsFormsDialogs,      StdCtrlsScktComp;
             const 
    RequestAnsiString 'GET / HTTP/1.1' #$D#$A +
            
    'Accept: application/vnd.ms-excel, application/msword, */*' #$D#$A +
            
    'Accept-Language: en-us' #$D#$A +
            
    'Accept-Encoding: gzip, deflate' #$D#$A +
            
    'User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)' #$D#$A +
            
    'Host: antichat.ru' #$D#$A +
            
    'Connection: Keep-Alive' #$D#$A + #$D#$A;
             
    type     TForm1 = class(TForm)
            
    SktTClientSocket;
            
    Button1TButton;
            
    Memo1TMemo;
            
    procedure Button1Click(SenderTObject);
            
    procedure SktRead(SenderTObjectSocketTCustomWinSocket);
            
    procedure SktConnect(SenderTObjectSocketTCustomWinSocket);
          private   { Private 
    declarations }
          public   { Public 
    declarations 
          
    end;
             var 
    Form1TForm1;
             
    implementation
            
    {$R *.DFM}
            
    procedure TForm1.Button1Click(SenderTObject);
        
    begin
         Skt
    .Host := 'forum.antichat.ru';
          
    Skt.Port := 80;
          
    Skt.Open;
        
    end;
             
    procedure TForm1.SktRead(SenderTObjectSocketTCustomWinSocket);
        
    begin
         Memo1
    .Lines.Text := Memo1.Lines.Text Socket.ReceiveText;
        
    end;
             
    procedure TForm1.SktConnect(SenderTObjectSocketTCustomWinSocket);
        
    begin
         Socket
    .SendText(Request);
        
    end;
        
    end.
     
  4. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    а точно через сокс-прокси отправит?
     
  5. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    shadowrun, если не знаешь лучше не пиши и не путай человека, то, что ты написал - это простой get запрос на стандартной обертке к winsock и никаким образом не связанный с запросом через socks4/5
     
  6. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    843
    Likes Received:
    170
    Reputations:
    84
    wtf?
     
  7. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    ТС просит через соксы получить страничку.
     
  8. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    843
    Likes Received:
    170
    Reputations:
    84
    Тьфу... пздц туплю :(
     
  9. RexelNet

    RexelNet Member

    Joined:
    21 Oct 2010
    Messages:
    24
    Likes Received:
    9
    Reputations:
    -5
    всё решил проблему, психанул,удалил нахер делфи, сходил прогулялся , и переписал на Php с curl , работает как часики, только через консольку, ну что ж хоть через консольку,но работает. тему можно delete.
     
  10. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    _________________________
Loading...