Partage
  • Partager sur Facebook
  • Partager sur Twitter

extraire data en UTF8 avec cURL

Sujet résolu
    13 mars 2024 à 20:11:02

    bonjour,

    J'essai après plusieurs essais, j'essaye de capturer du texte  en UTF-8 provenant d'un site en php (rien d'illegal - c'est un challenge proposé par le site).

    J'ai lu ici et là que le code en html n'était pas converti en utf8 et restait brut. Auriez-vous des pistes a me donner pour que je puisse capturer correctement les accents?

    Merci par avance

    voici le retour de l'executable:

    L'&eacute;quation &agrave; r&eacute;soudre est :<br />x² + 2x - 9 = 0

    comme vous pouvez le voir les accents sont mal retranscris.

    et voici le code associé:

    #include <stdlib.h>
      2 #include <stdio.h>
      3 #include <string.h>
      4 #include <curl/curl.h>
      5 #include <stdbool.h>
      6 #include <math.h>
      7 #include <wchar.h>
      8 #include <locale.h>
      9 
     10 
     11 int main(int argc, char* argv[])
     12 {
     13   setlocale(LC_CTYPE,"");
     14   FILE *webPage=NULL;
     15   //*******************************************************************
     16   //                 REQUEST PAGE 1
     17   //*******************************************************************
     18   CURL *curl = curl_easy_init();                       //initialiser connexion  
     19   CURLcode res;
     20   webPage=fopen("pagePr6","w");
     21   if(webPage)
     22   {
     23      if(curl)
     24      {
     25         curl_easy_setopt(curl, CURLOPT_URL, "https://***.*****.***/*****/*****/*****.php");
     26         //struct curl_slist* header = NULL;
     27         //curl_slist_append(header,"Content-Type: text/html");
     28         //curl_slist_append(header,"charset: iso-8859-1");
     29         //curl_easy_setopt(curl, CURLOPT_HTTPHEADER, header);
     30         curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "");
     31         curl_easy_setopt(curl, CURLOPT_HEADER, 0L); //header enabme on/off
     32         curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0");
     33         curl_easy_setopt(curl, CURLOPT_COOKIE, "*************************************************************************;\
     34                                                 PHPSESSID=***************************************************************;\
     35                                                 SBFCookie11=*************************************************************");
     36         /*
     37         curl_easy_setopt(curl,CURLOPT_WRITEDATA,webPage); //option pour ecrire les data dans le fichier
     38         */
     39         res = curl_easy_perform(curl);                    //executer l'action 
     40       }
     41   }
     42   fclose(webPage);
     43   curl_easy_cleanup(curl);
     44   return EXIT_SUCCESS;
     45 }
    







    • Partager sur Facebook
    • Partager sur Twitter
      13 mars 2024 à 20:28:37

      superguerrier a écrit:

      L'&eacute;quation &agrave; r&eacute;soudre est :<br />x² + 2x - 9 = 0

      comme vous pouvez le voir les accents sont mal retranscris.

      Ici les accents sont retranscrit en Entités HTML suis le lien et tu comprendras.

      -
      Edité par rouIoude 13 mars 2024 à 20:29:30

      • Partager sur Facebook
      • Partager sur Twitter
      ...
        13 mars 2024 à 20:39:04

        merci pour l'info.

        Si je comprends bien, dans mon cas on passe obligatoirement par de la substitution => un post traitement après un GET du texte pour afficher les accents.

        Le navigateur web style (firefox, safari etc...) fait t'il cette substitution à la volée pour afficher les accents?

        • Partager sur Facebook
        • Partager sur Twitter
          13 mars 2024 à 23:18:28

          Tout les navigateurs web font la substitution à la volée comme tu dis. Et c'est pas nouveau, ça doit dater du début du html (j'ai pas vérifié).
          • Partager sur Facebook
          • Partager sur Twitter
          ...

          extraire data en UTF8 avec cURL

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown