Results 1 to 14 of 14

Thread: HTTP Get met proxy

  1. #1

    HTTP Get met proxy

    Ik heb een aantal lijsten met proxy's , deze zijn zonder username/password, en werken prima in allerlei programma's. Nu als ik deze wil gebruiken met Delphi Indy lijken ze niet te werken.. Heeft iemand een voorbeeld hoe je zulke proxy's kan gebruiken met indy? Of zijn er betere componenten voor te vinden? Dit zijn publieke proxy's zoals te vinden op allerlei websites,

    Ik ben bezig met een soort van hidemyip programma, waarmee je snel een proxy kan instellen.. Welke hij van allerlei bekende websites haalt. Ik hoop dat iemand mij hiermee kan helpen, want ben al een aantal dagen bezig maar kom er niet meer aan uit..

  2. #2
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,136
    Ik moet eerlijk zeggen dat ik volgens mij nooit met proxies icm Indy heb gewerkt, maar
    wat gaat er niet goed als je de properties van TIdHTTP.ProxyParams invult, muv username
    en password (dus alleen ProxyPort en Proxyserver)?
    TMemoryLeak.Create(Nil);

  3. #3
    Ik krijg dan wel een verbinding, en alles "lijkt" goed te gaan, maar als ik de verbinding controleer merk ik op dat hij geen verbinding gemaakt heeft met de proxy server, maar direct met de pagina die ik opvraag..

  4. #4
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,136
    Hoe controleer je de verbinding, met WireShark oid?

    De bedoeling van een (transparent) proxy is juist dat het *lijkt* alsof je
    direct verbinding met het doel hebt.
    TMemoryLeak.Create(Nil);

  5. #5
    Als ik bijvoorbeeld whatismyip.com bezoek, dan krijg ik gewoon mijn "lokale" ip/mijn zeg maar "normale" ip terug, maar dit moet toch het ip zijn van de proxy-server? Of begrijp ik het verkeerd?

  6. #6
    Quote Originally Posted by Reidinga View Post
    Als ik bijvoorbeeld whatismyip.com bezoek, dan krijg ik gewoon mijn "lokale" ip/mijn zeg maar "normale" ip terug, maar dit moet toch het ip zijn van de proxy-server? Of begrijp ik het verkeerd?
    Weet je zeker dat je code goed is.
    Ik heb het net even met een willekeurige proxy geprobeerd en daar werkt het.
    Delphi Code:
    1. procedure TForm1.Button2Click(Sender: TObject);
    2. var
    3.   lHTTP: TIdHTTP;
    4.   Reply: String;
    5. begin
    6.   lHTTP := TIdHTTP.Create(nil);
    7.   try
    8.     lHTTP.HandleRedirects := true;
    9.     lHTTP.ProxyParams.ProxyServer := '67.63.33.7';
    10.     lHTTP.ProxyParams.ProxyPort := 80;
    11.     lHTTP.ReadTimeout := 60000;
    12.     lHTTP.Request.Accept := '*/*';
    13.     lHTTP.Request.AcceptLanguage := 'en-US,en;q=0.5';
    14.     lHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
    15.     lHTTP.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0';
    16.     Reply := lHTTP.Get('http://myip.nl');
    17.   finally
    18.     lHTTP.Free;
    19.     Memo1.Lines.Add(Reply);
    20.   end;
    21. end;

    Click image for larger version. 

Name:	MmVnm32.png 
Views:	8 
Size:	10.2 KB 
ID:	7710

  7. #7
    Die readtimeout deed de truc.. dankjewel
    Is er een goede manier om te controleren of de proxy werkt? Ik bedoel, ik ben zoals ik al zei bezig met een programma wat gratis proxy's van bekende sites afhaalt, hier zitten vaak ook niet werkende tussen.. Kan ik zo'n controle doen met een get request? Of zijn er betere oplossingen voor?

  8. #8
    Quote Originally Posted by Reidinga View Post
    Die readtimeout deed de truc.. dankjewel
    Yikes. Wil dat zeggen als je geen timeout hebt of hoge timeout hebt dat je eigen IP gebruikt wordt?

    Dan zou ik, om te controleren of de proxy wel goed werkt altijd eerst zo'n ip site ophalen en controleren of je de proxy IP terug krijgt. Dan weet je EN dat de proxy werkt, EN dat ie ook GOED werkt

    Om alleen je IP terug te krijgen kun je ook http://checkip.dyndns.com/ gebruiken.
    Of http://ipecho.net/plain
    67.63.33.7
    Let ook even op dat HTTPS anders afgehandeld moeten en niet alle proxies HTTPS ondersteunen.

  9. #9
    Dankjewel ja ik had een functie gemaakt die probeerd via de proxy verbinding te maken, zal ergens een fout in hebben denk ik.. Vond t al vreemd, want als ik http debugger pro gebruik kan ik zien van elk programma welke verbinding hij gebruikt, dit als "extra" controle, en viel me direct op dat het ergens niet klopte.. Ik ga inderdaad eerst eens checken of het ip van de proxy is, en dan eventueel een andere proxy proberen..

  10. #10
    Nu werkt de code prima met http proxys.. maar ik kan nergens in de indy documentatie iets terug vinden over socks4/5 voor idhttp.. Is dat wel ondersteund of niet? ik zie wel info over idftp, maar lijkt precies niet te kunnen met idhttp.. loop er al mee te prutsen, maar krijg t niet werkende.. Heb een goede lijst met socks5 proxy's gekocht.. Maar weet niet meer of t nu in het programma misgaat, of ik iets mis doe..

  11. #11
    Assign a TIdSocksInfo component to the IOHandler's TransparentProxy property.
    https://stackoverflow.com/questions/...ttp-with-socks

  12. #12
    Had m inderdaad gevonden - helaas pas na ik de vraag stelde hier.. zoek alleen nog een manier om te herkennen of het een socks4 of socks5 is.. maar dat is een luxe probleem

  13. #13
    Quote Originally Posted by Reidinga View Post
    zoek alleen nog een manier om te herkennen of het een socks4 of socks5 is.. maar dat is een luxe probleem
    Volgens mij is die manier er niet. Volgens mij is het gewoon proberen en bij een fout de andere proberen. Je kunt dit met het component doen of door middel van zelf een pakketje versturen en het antwoord bekijken (maar dan is het component makkelijker).

    Overigens hebben alle lijsten toch ook bij het IP staan of het SOCKS4, SOCKS5 of HTTP is?

    (Heb je een gebruikersnaam en wachtwoord en je moet kiezen tussen SOCKS4 en SOCKS5 dan is het altijd SOCKS5, want SOCKS4 heeft geen Authentication)

  14. #14
    Oké dat is goed om te weten! Ja toch heb ik ook sites gevonden met lijsten waar er niet bij staat welke het is. Dan gebruik ik trial and error methode..

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •