2013-10-07 1 views
-1

asp 페이지에 로그인하는 데 문제가 있습니다. 여기 기계로 asp 로그인을 무시하십시오.

내 코드입니다 :

#!/usr/bin/perl -w 
use strict; 
use warnings; 
use WWW::Mechanize; 
use LWP::Debug qw(+); 
my $mech = WWW::Mechanize->new; 
$mech->agent('User-Agent=Mozilla/4.0'); 
$mech->get('http://site.net/index.asp'); 
$mech->submit_form(
    form_name => 'form', 
    fields  => { 
     xpto => '123' 
    } 
); 
my $app_content = $mech->content(); 
print "$app_content\n"; 

그리고 내가 터미널에서 무엇을 얻을 : (당신의 사용자 에이전트가 이상한 것을 검출하는 것 중 하나

<html> 
    <head> 
     <title>Anti Bot</title> 
    </head> 
    <body> 
     <h1 style="color:red;">Bots are not allowed here</h1> 
    </body> 
</html> 

답변

1

을 대부분의 사용자 에이전트 "로 시작하지 않는 = ") 또는 브라우저를 통해 정상적인 제출 중에 필드를 설정 (또는 제거)하는 양식의 javascript가 있습니다. 브라우저에서 로그인 폼을 채우고 (Firebug 등을 통해) 실제로 게시 된 것을 관찰하고 일치하도록 스크립트를 업데이트하십시오. 또는 자바를 실행할 수있는 웹 스크 레이 핑 라이브러리 (예 : WWW::Mechanize::Firefox)를 사용하십시오.

물론이 작업을 수행 할 수있는 권한이 있다고 가정합니다. 어떤 사람들은 사이트에서 봇을 원하지 않는 좋은 이유가 있습니다.

+0

당신 말이 맞습니다. "User-Agent ="때문에 작동하지 않습니다. –

관련 문제