Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Perl: авторизация (http://forum.oszone.net/showthread.php?t=165848)

user171078 01-02-2010 12:14 1335789

Perl: авторизация
 
Как сделать авторизацию на сайте используя perl ,я пишу некоторый код и Вы видите html код сайта:

Код:

#!/usr/bin/perl 
use WWW::Mechanize; use strict;
  print "Content-type: text/html\n\n";
  my $username = "user";
my $password = "pass";
my $outfile = "out.txt";
 my $mech = WWW::Mechanize->new( );
 my $url = 'http://www.olx.com/login.php';
 $mech->get($url);
 $mech->form_name('loginform');
$mech->field(username => "$username");
$mech->field(passwd => "$password");
$mech->click();
 my $response = $mech->content();
print $response;

html code:
HTML код:

html code:  <div id="login" class="clearfix page"> <h1>Sign in</h1>  <form id="loginform" name="loginform" action="login.php?a=10" method="post" class="cbb alignleft" onsubmit="document.getElementById('submit').value='Wait...';document.getElementById('submit').disabled=true;"> <h3>Already a member</h3> <p> <input type="hidden" name="c" value="">  <input type="hidden" name="partner" value=""> <label for="username"><span>Username or Email:</span> <input type="text" name="username" id="username" maxlength="100" value="" /></label> </p>  <p><label for="password"><span>Password:</span> <input type="password" name="password" id="password" maxlength="12" /></label></p>  <p><label for="rememberme"><span>&nbsp;</span> <input type="checkbox" name="rememberme" id="rememberme" /> <small><small>Remember me</small></small></label></p>  <p><label for="submit"><span>&nbsp;</span> <input type="submit" name="_btnSubmit" class="submit" id="submit" value="Sign in" /></label> <a href="/lostpassword.php"><small>Forgot your password?</small></a></p> </form>

Sham 01-02-2010 20:20 1336238

user171078, формируйте post-запрос и разбирайте ответ успешной авторизации (самое важное - кукисы). Реализацию на перле не подскажу.

запрос получился такой
Код:

POST /login.php?a=10 HTTP/1.1
Host: www.olx.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.olx.com/login.php
Cookie: classified_session=b7cd8d4392b564b176229ddf14f57ce1; user_level=zg%3D%3D; Live-to=z2utPcuUQH%2BbdQ%3D%3D; language_id=1; url_id=1; country_filter=1; zip_distance_filter=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 74

c=&partner=&username=fake&password=123123&rememberme=on&_btnSubmit=Sign+in



Время: 01:29.

Время: 01:29.
© OSzone.net 2001-