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

Lazarus Pascal Discussion :

Webservice : OK dans un navigateur, KO avec Lazarus et TFPHTTPClient


Sujet :

Lazarus Pascal

  1. #1
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 343
    Points : 536
    Points
    536
    Billets dans le blog
    2
    Par défaut Webservice : OK dans un navigateur, KO avec Lazarus et TFPHTTPClient
    Bjr à vous,

    Je cherche à interroger un service Web pour récupérer ici une altitude

    Le lien https://wxs.ign.fr/essentiels/alti/r....08&zonly=true fonctionne me retourne un résultat

    Dans le code suivant, je tombe sur une erreur 403

    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
     
    procedure TdlgTestsUnitaires.Button1Click(Sender: TObject);
    var
      MyHTTPRequest: TFPHTTPClient;
      MyURL: String;
      Response: TStringList;
    begin
      MyURL := 'https://wxs.ign.fr/essentiels/alti/rest/elevation.json?lon=0.2367&lat=43.08&zonly=true';
      Response := TStringList.Create;
      Response.Clear;
      MyHTTPRequest := TFPHTTPClient.Create(self);
      try
        MyHTTPRequest.get(MyURL, Response);
        ShowMessage(Response.Text);
      finally
        FreeAndNil(MyHTTPRequest);
        FreeAndNil(Response);
      end;
    end;
    Une idée ?

  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    hello,
    403 c'est forbidden . Il faut ajouter des entêtes à la requête pour faire croire au serveur contacté que c'est un navigateur à l'autre bout.
    Avec ce code j'ai une réponse :
    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
    procedure TForm1.Button2Click(Sender: TObject);var
      MyHTTPRequest: TFPHTTPClient;
      MyURL: String;
      Response: TStringList;
    begin
      MyURL := 'https://wxs.ign.fr/essentiels/alti/rest/elevation.json?lon=0.2367&lat=43.08&zonly=true';
      Response := TStringList.Create;
      Response.Clear;
      MyHTTPRequest := TFPHTTPClient.Create(self);
      MyHTTPRequest.AddHeader('User-Agent','Mozilla/5.0 (compatible; fpweb)');
      MyHTTPRequest.AddHeader('Content-Type','application/json; charset=UTF-8');
      MyHTTPRequest.AddHeader('Accept', 'application/json');
      MyHTTPRequest.AllowRedirect := true;
      try
        MyHTTPRequest.get(MyURL, Response);
        ShowMessage(Response.Text);
      finally
        FreeAndNil(MyHTTPRequest);
        FreeAndNil(Response);
      end;
    Ami calmant, J.P (pas CASSOU)
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 343
    Points : 536
    Points
    536
    Billets dans le blog
    2
    Par défaut Danke ...
    Erreur 'OpenSSL library'

    Je télécharge les libs OpenSSL depuis https://indy.fulgan.com/SSL/Archive/ et je les mets dans le dossier de mon appli
    --> erreur "'https://wxs.ign.fr/:443 failed"

    Citation Envoyé par jurassic pork Voir le message
    hello,
    403 c'est forbidden . Il faut ajouter des entêtes à la requête pour faire croire au serveur contacté que c'est un navigateur à l'autre bout.
    Avec ce code j'ai une réponse :
    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
    procedure TForm1.Button2Click(Sender: TObject);var
      MyHTTPRequest: TFPHTTPClient;
      MyURL: String;
      Response: TStringList;
    begin
      MyURL := 'https://wxs.ign.fr/essentiels/alti/rest/elevation.json?lon=0.2367&lat=43.08&zonly=true';
      Response := TStringList.Create;
      Response.Clear;
      MyHTTPRequest := TFPHTTPClient.Create(self);
      MyHTTPRequest.AddHeader('User-Agent','Mozilla/5.0 (compatible; fpweb)');
      MyHTTPRequest.AddHeader('Content-Type','application/json; charset=UTF-8');
      MyHTTPRequest.AddHeader('Accept', 'application/json');
      MyHTTPRequest.AllowRedirect := true;
      try
        MyHTTPRequest.get(MyURL, Response);
        ShowMessage(Response.Text);
      finally
        FreeAndNil(MyHTTPRequest);
        FreeAndNil(Response);
      end;
    Ami calmant, J.P (pas CASSOU)

  4. #4
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Hello regardes du coté de ton pare-feu si les connections via le port 443 sont permises
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  5. #5
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    hello,
    J.P Cassou ne modifie pas un ancien message si il y a une nouvelle question , crée un nouveau message, sinon sauf si on relit la discussion , personne ne sera au courant qu'il y a une nouvelle question (c'est ce qui m'est arrivé). Pour ton nouveau problème : quelle est ta version de Lazarus et celle de fpc ?
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

Discussions similaires

  1. Validation avec un post ajax ne passe pas dans certains navigateurs
    Par Lucas Panny dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/12/2010, 19h28
  2. Retour d'un webservices dans un Navigateur
    Par virgul dans le forum Windows Forms
    Réponses: 6
    Dernier message: 04/12/2008, 15h40
  3. [JDIC] Ouverture d'une url dans un navigateur avec jdic
    Par CyberSlan dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 11/08/2008, 08h33
  4. [OpenOffice][Texte] Bug avec les titres et leur affichage dans le navigateur
    Par 12monkeys dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 13/07/2007, 13h44

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