Results 1 to 14 of 14

Thread: Socket Error # 10054

  1. #1
    Member Duiker's Avatar
    Join Date
    May 2020
    Location
    Hamont-Achel (Belgie)
    Posts
    36

    Socket Error # 10054

    Plotseling lukt het me niet meer om een bepaalde Internet pagina in een Memo te zetten.
    Tot vorige week werkte het perfect.

    Ik krijg de melding:
    EldSocketError
    Socket Error # 10054
    Connection reset by peer
    Responsecode -1

    Delphi Code:
    1. procedure TMainForm.Button2Click(Sender: TObject);
    2. begin
    3.   Memo1.Clear;
    4.   Memo2.Clear;
    5.   try
    6.     //Memo1.Lines.Add(idHTTP1.Get('https://www.iex.nl/Aandeel-Koers/612967/ABN-AMRO-BANK-NV/historische-koersen.aspx?maand=202010'));
    7.     Memo1.Lines.Add(idHTTP1.Get('https://www.beursgorilla.nl/Aandeel-Koers/612967/ABN-AMRO-BANK-NV.aspx'));
    8.   except
    9.     on E : Exception do
    10.      begin
    11.        ShowMessage('Pagina laden is niet gelukt.' + chr(13) +
    12.                    'Exception class name = ' + E.ClassName + chr(13) +
    13.                    'Exception message = ' + E.Message + chr(13) +
    14.                    'Responsecode = ' + IntToStr(idHTTP1.ResponseCode));
    15.      end;
    16.   end;
    17. end;

    Nu had ik even het vermoeden dat men mij daar kent, en dus blokt. Toch, als ik met een browser naar de pagina ga, dan lukt dat wel. Voor de zekerheid een Internet verbinding via mijn telefoon gemaakt zodat ik zeker een ander IP adres heb. Het zelfde resultaat. Niet geblokt dus.

    Maar hoe zou ik dit op kunnen lossen zodat ik toch de pagina in het Memo kan zetten.

    Overigens kwam ik een lijstje tegen met nog veel meer van deze code's
    https://www.codyco.io/index.php/know...betekenis.html

  2. #2
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,206
    Het kan ook het antivirus zijn die je browser als niet verdacht ziet. Of de site omdat je b.v. geen javascript uitvoert.

  3. #3
    Ben je je openssl libs niet vergeten in de exe directory te zetten?
    En iets van openssl in de uses (ik weet niet welke nodig is bij indy)?

    Deze melding kun je n.l. ook krijgen als er geen beveiligde verbinding (voor https) opgezet kan worden.

  4. #4
    of bij het opnieuw compileren een nieuw versie nummer gegeven en Microsoft firewall laat de verbinding niet meer toe omdat het een nieuwe applicatie is. gebeurt mij meer dan eens

    Even kijken in de firewall of je exe daar staat, verwijderen en daarna de exe opnieuw opstarten, firewall dialog komt dan weer tevoorschijn en de toegang weer toestaan.

  5. #5
    Member Duiker's Avatar
    Join Date
    May 2020
    Location
    Hamont-Achel (Belgie)
    Posts
    36
    Nou moet ik zeggen dat er onlangs wel een windows update is geweest hier. Ik zal eerst eens kijken of ik de exe in de firewall zie staan.

  6. #6
    Overigens... naast mijn suggestie voor openssl kan het ook nog een oude versie van openssl zijn.
    De website die je noemt accepteert allen TLS 1.2 volgens https://www.cdn77.com/tls-test.
    Dus je hebt minimaal OpenSSL version 1.0.1 nodig (ouder dan dat ondersteund geen TLS 1.2).

  7. #7
    Member Duiker's Avatar
    Join Date
    May 2020
    Location
    Hamont-Achel (Belgie)
    Posts
    36
    Maar als openssl het probleem zou zijn, hoe heeft het dan ooit kunnen werken? Zojuist heb ik een backup van een paar weken geleden erbij gehaald, en daar de .EXE van gestart. Die geeft hetzelfde probleem nu. Deze .EXE heb ik op een andere PC geprobeerd, en ook daar een 10054 foutmelding.

  8. #8
    Het zou kunnen zijn dat de desbetreffende server sinds vorige week minimaal TLS 1.2 vereist.

    Heb je openssl in de exe directory zelf staan of vertrouw je op een global install daarvan?
    Als ze in je exe dir staan... Welke versie is dat?
    Idem als ze in de windows dir staan?

  9. #9
    Member Duiker's Avatar
    Join Date
    May 2020
    Location
    Hamont-Achel (Belgie)
    Posts
    36
    Probleem is opgelost.

    Eerst probeerde ik het volgende: Van deze pagina:http://docwiki.embarcadero.com/RADSt...64-bit_Windows
    de files libeay32.dll en ssleay32.dll downloaden. Hier gebruik ik de 64 bits variant van windows. Het plaatsen in de windows/System32 map deed niets. Ook de 32 bits variant plaatsen in de windows/SysWOW64 map deed niets. Ook deze files in de EXE dir van mijn applicatie plaatsen deed allemaal niets helaas. Eigenlijk ook niet vreemd in mijn beleving. Zouden deze file's andere file's vervangen, dan zou ik dat wel logisch vinden. Maar ik kon geen oude file's vinden. Ik heb me werkelijk suf gezocht op Internet. Voor mij was deze link de trigger: https://community.idera.com/develope...ed-connections
    De tekst "set PassThrough property" bracht me op de een of andere manier er toe het IdSSLIOHandlerSocketOpenSSL1 component te plaatsen. En te koppelen. Nu staat daar in de property's SSLoptions, en SSLversions. En DAAR kan ik sslvTLSv1_2 op true zetten.

    Dus, rvk, je had gelijk. De Internet pagina maakt gebruik van TLS 1.2

  10. #10
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,495
    Het gebeurt wel vaker dat bedrijven ineens TLS1.2 afdwingen zonder gebruikers hierover in te lichten.
    TMemoryLeak.Create(Nil);

  11. #11
    Nou is het ook in basis een website, geen API, toch? Elke browser ondersteunt het al tijden. Tls 1.2 rolde in 2008 al van de ontwerptafel af.

    Het is ondersteund in elke browser vanaf 2014, en wordt blijkbaar al gebruikt in 98.8% van de websites.
    1+1=b

  12. #12
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,495
    Een browser wel, maar wanneer je Indy gebruikt moet je wel degelijk alles zelf doen zoals een latere Indy versie en een courante SSL DLL gebruiken.
    TMemoryLeak.Create(Nil);

  13. #13
    Ja, maar je kan toch niet van een websitebouwer verwachten dat ze rekening houden met hobbyisten die site scrapers bouwen?
    Bovendien begrijp ik dat Duiker ├╝berhaupt nog geen SSL handler had gekoppeld. Elke website achter SSL (en dan meestal TLS 1.2) is toch standaard? Je wordt er in de Google ranking op afgerekend als je het niet hebt.
    1+1=b

  14. #14
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,495
    Ah er gaat iets anders dan bedoeld: ik had in mijn post van 2 november eerst een heel verhaal zitten tikken waarin ik uitweidde over een soortgelijk geval dat ik een jaar geleden had: dmv Delphi 2007 met een oude Indy versie praten met een API en ineens werkte het niet meer. Omdat het hele verhaal verder niet relevant was heb ik dat maar weer verwijderd in de post, maar niet in mijn hoofd, dus die twee waren niet helemaal meer in sync wat voor een wazige (vanuit een ander perspectief) reactie van mijn kant leidde.

    Maar inderdaad: als je zelf zo nodig voor (http) client wilt spelen, dan moet je natuurlijk alles zelf in de gaten houden.
    TMemoryLeak.Create(Nil);

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
  •