IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Indy - IdHTTP Erreur socket 10061


Sujet :

Web & réseau Delphi

  1. #1
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut Indy - IdHTTP Erreur socket 10061
    Bonjour

    Mon application lit des flux RSS et les analyse pour afficher les informations souhaitées et notamment une Image pour laquelle j'ai extrait l'url .

    Pour afficher mon image j'utilise le code de la FAQ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    var
      IdHTTP1:Tidhttp;
      MyStreamt:TMemoryStream;
      jp:TJpegImage;
    begin
      MyStreamt:=TMemoryStream.Create; { ou tout autre TStream }
      Try
        IdHTTP1:=Tidhttp.Create(nil);
        Try
          IdHTTP1.Get(Lien_Image,Mystreamt);
        except
          ShowMessage('Fichier indisponible');
          Exit;
        End;
        Mystreamt.Seek(0, soFromBeginning);  { on rembobine le stream }
        jp:=TJpegImage.Create;
        Try
          jp.LoadFromStream(MyStreamt);
          Image1.Picture.Assign(jp);
        Finally
          jp.free;
        End;
      Finally
        IdHTTP1.Free;
        MyStreamt.Free;
      End;
    end;
    Et là migraine sur migraine avec une erreur socket #10061.
    Rien pour m'éclairer sur le site ou sur google.
    Un des flux rss fonctionnait parfaitement mais pas le deuxième. Et de plus, l'image s'affichait bien si je passais par un WebBrowser.
    Après moult point d'arrêt, tests et autres showmessage, je m'aperçoit que mon erreur provenait de l'absence de :
    au début de mon lien.

    En passant par IE (WebBrowser) cette absence ne gêne pas, mais Indy est beaucoup moins laxiste. Qui saisit encore cet en-tête dans al barre d'adresse ?

    je voulais donc savoir si cela venait d'un "Bug" d'Indy ou d'un choix volontaire dû à des "contraites/obligations" que je ne maitrise absolument pas.

    Ma question tient plus la curiosité car j'ai pu corriger l'erreur

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    les navigateurs on décidés de supprimer le "http://" et rendent le "www" optionnel à la saisie, mais il n'en reste pas moins que l'URL réelle comprend ces informations.

    Indy n'est pas un navigateur, il fait exactement ce qu'on lui demande, et ce que tu veux c'est une requête http, il faut donc lui donner l'URL complète.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    Merci.
    Sans vouloir polémiquer (bien au contraire), je pensais qu'en utilisant TIdHTTP, cela indiquait forcément une demande de requête http.

    La simplification n'a pas forcément que du bon.

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Fxg Voir le message
    Merci.
    Sans vouloir polémiquer (bien au contraire), je pensais qu'en utilisant TIdHTTP, cela indiquait forcément une demande de requête http.

    La simplification n'a pas forcément que du bon.
    en théorie oui, mais Indy utilise des tas de classes internes pour traiter les données, et l'URL est gérée par un TidURI indépendant du protocole; du coup il ne sait pas qu'il a affaire à une requête HTTP.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    Merci Paul.
    C'est ce genre de précision que je voulais avoir pour éclairer mon modeste cerveau.

    Le nom TIdHTPP m'a quelque part conforté dans la justesse de mon code.

    A la rigueur il pourrait être bon de rajouter dans la faq un clignotant sur le formatage de l'url.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Ne pas afficher "Erreur socket asynchrone 10061"
    Par SmallFitz dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/12/2011, 23h36
  2. [Web/Reseaux] IdHTTP erreur de socket
    Par Pasqualini dans le forum C++Builder
    Réponses: 0
    Dernier message: 05/11/2011, 18h25
  3. Erreur de socket avec le composant Indy idHTTP
    Par Etanne dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/10/2004, 11h27
  4. probleme avec composant indy IDhttp
    Par ulysse66x dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 09h35
  5. SQL Server: Java Erreur Socket
    Par BenoitM dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/04/2003, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo