Reklama
Pokazuje wyniki od 1 do 4 z 4

Temat: [Delphi, Lazarus] WiniNet - jak się łączyć przez proxy ?

  1. #1
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny [Delphi, Lazarus] WiniNet - jak się łączyć przez proxy ?

    Siemanko, witam w mojej kuchni. Potrzebuję pomocy w jaki sposób mogę za pomocą tych o to moich funkcji łączyć się przez proxy ? gdzie tu umieścić ip/port ? bo trochę ciemny jestem jeśli o takie rzeczy chodzi (hehe moja pierwsza apka - bot - internetowy)

    moja funkcja

    Kod:
    Function sslInet(Const AServer, AUrl, AData : AnsiString; blnSSL:Boolean = True): AnsiString;
    var
    aBuffer     : Array[0..4096] of Char;
    Header      : TStringStream;
    BufStream   : TMemoryStream;
    sMethod     : AnsiString;
    BytesRead   : Cardinal;
    pSession    : HINTERNET;
    pConnection : HINTERNET;
    pRequest    : HINTERNET;
    begin
    
     Result := '';
    
     pSession := InternetOpen(nil, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
    
     if Assigned(pSession) then
       try
    
         case blnSSL of
           True  :  pConnection := InternetConnect(pSession, PChar(AServer), INTERNET_DEFAULT_HTTPS_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
           False :  pConnection := InternetConnect(pSession, PChar(AServer), INTERNET_DEFAULT_HTTP_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
         end;
    
      if Assigned(pConnection) then
        try
    
          if (AData = '') then
            sMethod := 'GET'
          else
            sMethod := 'POST';
    
         case blnSSL of
           True  : pRequest := HTTPOpenRequest(pConnection, PChar(sMethod), PChar(AURL), nil, nil, nil, INTERNET_FLAG_SECURE  or INTERNET_FLAG_KEEP_CONNECTION, 0);
           False : pRequest := HTTPOpenRequest(pConnection, PChar(sMethod), PChar(AURL), nil, nil, nil, INTERNET_SERVICE_HTTP, 0);
         end;
    
      if Assigned(pRequest) then
        try
    
          Header := TStringStream.Create('');
          with Header do
            begin
    
              WriteString('Host: ' + AServer + sLineBreak);
              WriteString('Content-Type: application/x-www-form-urlencoded'+SlineBreak);
              WriteString('User-Agent: Firefox/3.0.10'+SLineBreak);
              WriteString('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'+SLineBreak);
              WriteString('Accept-Language: en-us,en;q=0.5' + SLineBreak);
              WriteString('Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7'+SLineBreak);
              WriteString('Keep-Alive: 300'+ SLineBreak);
              WriteString('Connection: keep-alive'+ SlineBreak+SLineBreak);
            end;
    
          HttpAddRequestHeaders(pRequest, PChar(Header.DataString), Length(Header.DataString), HTTP_ADDREQ_FLAG_ADD);
    
    
      if HTTPSendRequest(pRequest, nil, 0, Pointer(AData), Length(AData)) then
        begin
    
         BufStream := TMemoryStream.Create;
         try
    
           while InternetReadFile(pRequest, @aBuffer, SizeOf(aBuffer), BytesRead) do
             begin
               if (BytesRead = 0) then Break;
               BufStream.Write(aBuffer, BytesRead);
             end;
    
             aBuffer[0] := #0;
             BufStream.Write(aBuffer, 1);
             Result := PChar(BufStream.Memory);
    
         finally
           FreeAndNil(BufStream);
         end;
        end;
    
        finally
          InternetCloseHandle(pRequest);
          FreeAndNil(Header);
        end;
    
        finally
          InternetCloseHandle(pConnection);
        end;
    
        finally
          InternetCloseHandle(pSession);
        end;
    end;
    Jeśli ma to jakieś znaczenie to łączę się przez https [hail tibia.com]
    Kontakt ze mną:
    pw

  2. #2
    Avatar Lord
    Data rejestracji
    2012
    Położenie
    CPK xDDD
    Wiek
    29
    Posty
    10,451
    Siła reputacji
    18

    Domyślny

    Synapse

  3. Reklama
  4. #3
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny

    Cytuj LordCompi napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Synapse
    tylko po co, jeśli mam już goto praktycznie wszystko i wininet spełnia moje oczekiwania w zupełności ^^
    Kontakt ze mną:
    pw

  5. #4
    Avatar TheSnake
    Data rejestracji
    2008
    Posty
    321
    Siła reputacji
    17

    Domyślny

    WinHttpSetOption

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. ogladanie filmikow przez proxy
    Przez yeeq w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 3
    Ostatni post: 17-05-2015, 12:52
  2. tibia przez proxy
    Przez Gracjan Prastacki w dziale Tibia
    Odpowiedzi: 3
    Ostatni post: 01-08-2014, 16:18
  3. Odpowiedzi: 3
    Ostatni post: 22-05-2014, 22:48
  4. Gra przez Proxy
    Przez Szmuby w dziale Tibia
    Odpowiedzi: 2
    Ostatni post: 29-08-2013, 13:21

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •