Comment envoyer des données POST avec LWP?
Je veux faire un programme qui communique avec http://www.md5crack.com/crackmd5.php. Mon objectif est d'envoyer le site une table de hachage (md5) et j'espère que le site sera en mesure de se fissurer. Après, j'aimerais afficher le texte brut de la table de hachage. Mon problème est d'envoyer les données du site. J'ai cherché des articles sur l'utilisation de LWP cependant, je suis toujours perdu. Maintenant, le hash n'est pas d'envoi, certains autres données inutiles. Comment puis-je envoyer une chaîne de données pour le site?
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$ua = LWP::UserAgent->new();
my $req = POST 'http://www.md5crack.com/crackmd5.php', [
maxlength=> '2048',
name=> 'term',
size=>'55',
title=>'md5 hash to crack',
value=> '098f6bcd4621d373cade4e832627b4f6',
name=>'crackbtn',
type=>'submit',
value=>'Crack that hash baby!',
];
$content = $ua->request($req)->as_string;
print "Content-type: text/html\n\n";
print $content;
source d'informationauteur DisgruntledPerlLearner
Vous devez vous connecter pour publier un commentaire.
Vous validez les données erronées parce que vous prenez le code HTML de spécifier le widget et de juxtaposer avec les données qu'il envoie. Les données corrigées serait de simplement envoyer le nom du widget et sa valeur:
Au lieu de cela, les données qui est Affiché actuellement est:
Corrigés:
Vous pouvez également utiliser
LWP::UserAgent
'méthode post ():Rappelez-vous de toujours
use strict
etutilisation avertissements
. Il est considéré comme une bonne pratique et vous permettra d'économiser votre temps.Il a utilisé pour être que les craquelins serait de trouver ce genre de choses en lisant. Il y a des exemples dans HTTP::Request::Common qui LWP::UserAgent vous dit de vérifier pour envoyer des données POST. Vous avez seulement besoin d'envoyer les données du formulaire, pas les méta-données qui va avec.
Vous pouvez avoir un temps plus facile à l'aide de WWW::Mechanize car il est beaucoup plus centrée sur l'interface.