2010-05-11 13 views
2

J'ai ce code:Qu'est-ce que ce code Perl utilisant LWP :: UserAgent fait?

use strict; 
use LWP::UserAgent; 
use warnings; 
my $ua = new LWP::UserAgent(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5'); 
$ua->proxy([qw(http https)] => 'http://59.39.92.148:1080'); 
my $response = $ua->get("http://www.google.com"); 
print $response->code,' ', $response->message,"\n"; 

est le sens du code "ouvrir www.google.com avec proxy chaussette"? Quelle est l'explication?

+0

Oui. Ce code télécharge www.google.com à l'aide d'un proxy. Yoda explique presque ligne par ligne plus loin. – Konerak

+4

Il s'agit d'une violation des conditions d'utilisation de Google. –

+0

en regardant vos autres questions aujourd'hui, vous voudrez peut-être envisager de décrire ce que vous espérez accomplir en termes plus généraux. –

Répondre

0

On dirait: Open "www.google.com" en utilisant un proxy HTTP

2

Il est instanciation d'un objet LWP::UserAgent.

  • Les paramètres spécifient le navigateur Mozilla Firefox

  • L'adresse et le port pour se connecter au proxy 'http://59.39.92.148:1080'

  • et la réponse est Google transmis par le proxy:

    mon $ réponse = $ ua-> get ("http://www.google.com"); `

Enfin:

print $response->code,' ', $response->message,"\n";` 

permet une réponse à poser à l'utilisateur

Je suis un développeur C#, mais c'est la façon dont il me semble :)

2

Le code configure un objet LWP::UserAgent pour se faire passer pour un navigateur utilisé par un être humain pour contourner le mécanisme de détection d'araignée de Google. Ce faisant, il viole Google's Terms of Service:

5,3 Vous acceptez de ne pas accéder (ou tenter d'accéder) des Services par tout autre moyen que par l'interface qui est fournie par Google, à moins que vous avez été expressément autorisés pour ce faire dans un accord séparé avec Google. Vous acceptez expressément de ne pas accéder (ou tenter d'accéder) aux Services par des moyens automatisés (y compris l'utilisation de scripts ou de robots d'exploration) et de vous assurer que vous respectez les instructions figurant dans tout fichier robots.txt présent sur les Services. .

59.39.92.148 est probablement un proxy ouvert compromis (ou mal configuré) en Chine. Définir $ua pour l'utiliser est une tentative de masquer l'origine de la violation de TOS. Soit dit en passant, vous devez savoir que le serveur 59.39.92.148 pourra enregistrer et suivre toutes vos demandes et réponses si vous décidez de suivre cette route.

La question plus importante est: Qu'est-ce que vous essayez de faire?