# Récupération image météo

**URL:** <https://www.debian-fr.org/t/recuperation-image-meteo/77969>\
**Category:** Programmation\
**Created:** [Novembre 11, 2018, 8:10 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969 "2018-11-11T20:10:46Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Novembre 11, 2018, 8:10 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/1 "2018-11-11T20:10:46Z")

</div>

Bonsoir à tous  
Je suis désappointé.  
J’ai un script qui me récupérait l’image satellite toutes les 3 heures, mais depuis au moins 48h, curl ne la récupère plus, et je n’arrive pas à savoir pourquoi, ni à récupérer à nouveau l’image.

J’utilisais curl de cette façon:

```
user_agent="Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0"
fichier_temporaire="1600.jpg"
curl -A $user_agent http://static.die.net/earth/mercator/1600.jpg -o $fichier_temporaire

```

Je ne trouve pas de solution, car l’image n’a pas l’air d’avoir changé de place.  
J’ai modifié mon user agent pour être plus récent, mais cela n’a rien changé.

Si vous avez une idée à me soumettre, je vous en serais reconnaissant.

Rémi.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Novembre 11, 2018, 10:22 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/2 "2018-11-11T22:22:50Z")

</div>

Bonjour **rsuinux**

En regardant comment était faîte  
la page web dans laquelle s’affiche l’image,  
j’ai pu extraire cette ligne :

```nohighlight
<img id="earth" alt="[World Sunlight Map: mercator projection]" src="https://static.die.net/earth/mercator/1600.jpg" width="1600">

```

dans laquelle on peut voir que  
le serveur qui donne accès à cette image utilise **SSL**

En résumé, il te suffit de changer le lien ciblé par :  
`https://static.die.net/earth/mercator/1600.jpg`

ce qui donnera :

```nohighlight
user_agent="Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0"
fichier_temporaire="1600.jpg"
curl -A $user_agent https://static.die.net/earth/mercator/1600.jpg -o $fichier_temporaire

```

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Novembre 12, 2018, 7:19 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/3 "2018-11-12T07:19:16Z")

</div>

@anon29980398 J’ai pourtant regardé, je me demandais si c’était un truc comme ça…  
Mais j’ai pas vu le S de httpS  
Merci!!!  
Soit j’augmente la taille de la console sur laquelle j’ai fait la connexion à mon petit routeur qui récupère l’image, soit je change de lunette…

Rémi.

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Novembre 12, 2018, 7:31 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/4 "2018-11-12T07:31:37Z")

</div>

> [@anon29980398](#):
>
> [https://static.die.net/earth/mercator/1600.jpg](https://static.die.net/earth/mercator/1600.jpg)

Et en fait non!!!  
Je récupère une première page qui demande d’activer javascript !!!  
Ah bah oui, quand j’utilise firefox avec Noscript, j’ai le même comportement.  
A présent, il me faut donc contourner ça.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Novembre 12, 2018, 7:54 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/5 "2018-11-12T07:54:09Z")

</div>

Je n’ai pas pris le temps d’installer `curl`  
j’avais juste testé :

```nohighlight
michel@debg53sw:~$ wget https://static.die.net/earth/mercator/1600.jpg
--2018-11-12 08:53:08-- https://static.die.net/earth/mercator/1600.jpg
Résolution de static.die.net (static.die.net)… 2606:4700:20::6819:ab0b, 2606:4700:20::6819:aa0b, 104.25.170.11, ...
Connexion à static.die.net (static.die.net)|2606:4700:20::6819:ab0b|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 259314 (253K) [image/jpeg]
Sauvegarde en : « 1600.jpg »

1600.jpg 100%[=================================================>] 253,24K --.-KB/s in 0,06s   

2018-11-12 08:53:08 (4,36 MB/s) — « 1600.jpg » sauvegardé [259314/259314]

michel@debg53sw:~$ 

```

```nohighlight
michel@debg53sw:~$ ls -l 1600.jpg 
-rw-r--r-- 1 michel michel 259314 nov. 12 08:38 1600.jpg
michel@debg53sw:~$ 

```

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Novembre 12, 2018, 5:43 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/6 "2018-11-12T17:43:42Z")

</div>

Je viens de refaire un test.  
Et j’ai compris mon erreur. Il faut apprendre de ses erreurs, mais la j’aimerai comprendre:  
En fait, vous avez utilisé wget, et moi curl.  
Et oui, wget fonctionne!!! Mais pas curl. ☹  
L’un gère javascript et pas l’autre?

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Novembre 12, 2018, 6:15 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/7 "2018-11-12T18:15:54Z")

</div>

Je viens d’installer `curl` sur une machine virtuelle `debian stretch`  
(depuis laquelle je rédige ce message)

```nohighlight
michel@debtest:~$ curl --version
curl 7.52.1 (x86_64-pc-linux-gnu) libcurl/7.52.1 OpenSSL/1.0.2l zlib/1.2.8 libidn2/0.16 libpsl/0.17.0 (+libidn2/0.16) libssh2/1.7.0 nghttp2/1.18.1 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL 
michel@debtest:~$ 

```

```nohighlight
michel@debtest:~$ ls -l 1600.jpg 
ls: impossible d'accéder à '1600.jpg': Aucun fichier ou dossier de ce type
michel@debtest:~$ 
michel@debtest:~$ aTelecharger=https://static.die.net/earth/mercator/1600.jpg
michel@debtest:~$ fichier_temporaire="1600.jpg"
michel@debtest:~$ curl --silent $aTelecharger -o $fichier_temporaire
michel@debtest:~$ 
michel@debtest:~$ ls -l 1600.jpg 
-rw-r--r-- 1 michel michel 262765 nov. 12 19:04 1600.jpg
michel@debtest:~$ 

```

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Novembre 12, 2018, 6:20 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/8 "2018-11-12T18:20:00Z")

</div>

et dans ton fichier, il y a quoi?  
Chez moi, c’est un fichier d’erreur via cloudflare

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Novembre 12, 2018, 6:28 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/9 "2018-11-12T18:28:20Z")

</div>

> [@rsuinux](#):
>
> …dans ton fichier, il y a quoi?  
> …

Il y a bien l’image attendue.

```plaintext
michel@debtest:~$ ls -l 1600.jpg 
-rw-r--r-- 1 michel michel 262811 nov. 12 19:24 1600.jpg
michel@debtest:~$ file 1600.jpg 
1600.jpg: JPEG image data, baseline, precision 8, 1600x887, frames 3
michel@debtest:~$ 

```

Ce qui donne :

 ![1600](https://www.debian-fr.org/uploads/default/original/2X/4/4d7cda66babd9bf9e5ff8fb3e2c0292b06d9f083.jpeg)

* * *

> [@rsuinux](#):
>
> …  
> L’un gère javascript et pas l’autre?

En fait, c’est plus simplement le fait que le serveur  
répond à la demande en fonction du type de client demandeur,  
et si le demandeur est un interpréteur de pages web (navigateur)  
(comme par exemple Firefox) le serveur va alors formuler sa réponse  
en transmettant tout ce qu’il faudra à cet interpréteur de pages web  
pour qu’il puisse afficher cette image.

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Novembre 12, 2018, 7:33 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/10 "2018-11-12T19:33:08Z")

</div>

ok,  
Ma version de curl est

```
curl --version
curl 7.40.0 (arm-openwrt-linux-gnu) libcurl/7.40.0 PolarSSL/1.3.14
Protocols: file ftp ftps http https 
Features: IPv6 Largefile SSL 

```

wget fonctionne par contre. Merci, je vais l’utiliser.

Merci pour tes éclaircissements.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Novembre 12, 2018, 7:47 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/11 "2018-11-12T19:47:34Z")

</div>

En fait, wget est un downloader (qui s’occupe en auto des redirections, de la reprise sur erreur, etc) alors que curl est plus un couteau suisse d’analyse sur les différents protocoles de download (il sort le verbatim des sessions plus facilement).  
On peut ajuster finement les paramétres de l’un comme de l’autre et en sortir à peu prés la même chose, mais ils sont plus simples à utiliser chacun dans leur domaine de spécialité.

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Novembre 12, 2018, 7:49 UTC](https://www.debian-fr.org/t/recuperation-image-meteo/77969/12 "2018-11-12T19:49:06Z")

</div>

Merci pour ces précisions. Je ne les voyais pas tout à fait comme ça.
