2009-07-14 4 views
0

Le lien suivant renvoie une image différente à chaque fois que vous le visitez:Comment puis-je récupérer une instance d'une sortie de script php dynamique?

http://www.biglickmedia.com/art/random/index.php

partir d'un navigateur Web, vous pouvez évidemment faire un clic droit et enregistrer ce que vous voyez. Mais si je devais visiter ce lien à partir d'une ligne de commande (comme par le biais de python + mécaniser), comment pourrais-je enregistrer l'image qui serait sortie? Donc, fondamentalement, j'ai besoin d'une méthode en ligne de commande pour imiter le clic droit et enregistrer l'image après avoir d'abord visité le site à partir d'un navigateur Web.

Je peux déjà utiliser iMacro pour ce faire, mais je voudrais une méthode plus élégante. Que puis-je utiliser pour accomplir cela? Merci!

Répondre

4

Vous pourriez avoir besoin de quelque chose qui crée un socket sur le serveur, puis lance une requête http GET pour "art/random/index.php". enregistrer la charge utile de la réponse HTTP, et vous avez vos données

ce que vous être en train de créer est un simple client HTTP

la commande unix wget fait ceci:

$ wget http://www.biglickmedia.com/art/random/index.php 
+0

Cela devrait probablement être juste wget, pas $ wget – Josh

+0

oui, il était là pour identifier une commande sur la ligne de commande. formatage amélioré – user128026

1
<?php 
    file_put_contents('C:\\random.gif', file_get_contents('http://www.biglickmedia.com/art/random/index.php')); 
?> 
1

Avec Python et mécaniser:

import mechanize 

b = mechanize.Browser() 
t = b.open(url) 
image_type = t.info().typeheader # mime-type of image 
data = t.read() #bytes of image 
open(filename, 'wb').write(data) 
Questions connexes