2010-07-13 6 views
3

Je souhaite envoyer le paramètre (phd => text , go => submit) avec un proxy http. Comment puis-je faire ceci?Paramètre d'enregistrement avec proxy (perl)

J'ai ce code Perl:

my $ua = LWP::UserAgent->new(); 
my $req = POST 'http://example.com', 
[ phd => 'text' , go => 'submit']; 
$content = $ua->request($req)->as_string; 
print $content; 
+2

Avez-vous lu la documentation? http://search.cpan.org/perldoc/LWP::UserAgent#Proxy_attributes Si oui, pouvez-vous dire quelle partie vous a causé des problèmes? – ysth

Répondre

0

J'ai écrit ce il y a un moment quand je faisais la même chose que vous - http://blog.gnucom.cc/?p=122 - Regardez et laissez-moi savoir si vous trouvez utile (il ne la même chose que vous essayez de faire).

Je pense que le problème principal que vous pourriez avoir, c'est que vous êtes les données POST est envoyé à la mauvaise page. Lorsque vous envoyez des données POST, vous devez les envoyer quelque part, comme example.com/target_form.php. Votre exemple ne montre pas que vous faites cela - alors j'espère ne pas en supposer trop. : D

1

Ajouter dans une instruction afin que l'agent utilisateur connaît l'emplacement de votre proxy:

$ua->proxy("http", "http://localhost:8888"); 

Quant au commentaire de POST étant un bareword valide (que je ne serais probablement pas remarqué), mon module a quelque chose comme ça dedans:

use HTTP::Request::Common qw(POST GET);