나는 파일에서 읽고 웹 사이트에서 자동화 된 작업을 수행하기 위해 WWW::Mechanize을 사용하는 Perl 스크립트를 가지고있다. 그러나 웹 사이트는 특정 페이지를 요청할 때마다 302 리디렉션을 사용합니다. 나는 리디렉션되고 싶지 않습니다 (리다이렉트하는 페이지가 너무 오랜 시간이 걸리므로 반응합니다). 난 그냥 파일을 반복하고 첫 번째 링크를 반복해서 호출하고 싶습니다. WWW :: Mechanize를 리디렉션을 따르지 않는 방법을 알아낼 수 없습니다. 어떤 제안?어떻게 WWW :: Mechanize를 리디렉션을 따르지 않게 할 수 있습니까?
11
A
답변
10
WWW::Mechanize
은 LWP::UserAgent
의 하위 클래스입니다. 따라서 LWP::UserAgent
메쏘드를 사용할 수 있습니다.
my $mech = WWW::Mechanize->new();
$mech->requests_redirectable([]);
5
WWW :: Mechanize는 LWP :: UserAgent의 하위 클래스입니다. LWP :: UserAgent에서와 같이 생성자에서 max_redirect 또는 requests_redirectable 옵션을 설정할 수 있습니다.
4
당신이 사용할 수있는 $ 나타나 에이전트> max_redirect (0);이 예에서와 같이 :
#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;
my $agent = WWW::Mechanize->new('autocheck' => 1, 'onerror' => undef,);
$agent->max_redirect(0);
$agent->get('http://www.depesz.com/test/redirect');
printf("Got HTTP/%s from %s.\n", $agent->response->code, $agent->uri);
$agent->max_redirect(1);
$agent->get('http://www.depesz.com/test/redirect');
printf("Got HTTP/%s from %s.\n", $agent->response->code, $agent->uri);
가 실행하는 경우가 인쇄 :
Got HTTP/302 from http://www.depesz.com/test/redirect.
Got HTTP/200 from http://www.depesz.com/.
그래서, max_redirect (0) -을 분명히 리디렉션을 따르지 않습니다.
관련 문제
- 1. 어떻게 WWW :: Mechanize를 사용하고 디버그합니까?
- 2. WWW :: Mechanize를 작동 시키려면 어떻게해야합니까?
- 3. Perl의 WWW :: Mechanize를 사용하는 페이지를 제외한 모든 링크를 페이지에서 어떻게 추출 할 수 있습니까?
- 4. WWW :: Mechanize를 사용하여 HTML에없는 양식을 제출하는 방법?
- 5. CURL이 301 리디렉션을 따르지 않습니다. 어떻게해야합니까?
- 6. 어떻게 PHP 고지가 WordPress에 나타나지 않게 할 수 있습니까?
- 7. www 리디렉션을 사용하는 두 개의 RewriteRules
- 8. HtmlUnit에서 JavaScript 리디렉션을 처리 할 수 있습니까?
- 9. URL 리디렉션을 어떻게 확인할 수 있습니까?
- 10. 진행 막대를 WWW :: Mechanize에 어떻게 추가 할 수 있습니까?
- 11. 체크 박스를 클릭하면 페이지 리디렉션을 어떻게 비활성화 할 수 있습니까?
- 12. JMeter는 AJAX 리디렉션을 어떻게 처리 할 수 있습니까?
- 13. robots.txt에서 301 리디렉션을 수행 할 수 있습니까?
- 14. webkitNotfications에 리디렉션을 추가 할 수 있습니까?
- 15. Mechanize를 Python으로 대체 할 수있는 방법이 있습니까?
- 16. Mechanize를 사용하여 wigle.net의 결과 페이지를 어떻게 방문하나요?
- 17. WWW :: Mechanize를 사용하여 HTML을 만들면 "금지됨"이 발생합니다.
- 18. 파이썬의 기계화가 메타 새로 고침 리디렉션을 따르지 않게하려면 어떻게해야합니까?
- 19. Aptana (Eclipse)를 기호 링크를 따르지 않게 만드는 방법은 무엇입니까?
- 20. Rails를 사용하는 동안 MVC 패턴을 따르지 않도록 할 수 있습니까?
- 21. 표준을 따르지 못하고 있습니까?
- 22. Apache2와 mod_perl은 심볼릭 링크를 따르지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?
- 23. 다른 링크 페이지로 리디렉션을 중지 할 수 있습니까?
- 24. 어떻게 사용자 www-data에 권한을 주어 디렉토리를 만들 수 있습니까?
- 25. Apache에서 주어진 AliasMatch와 "일치하지 않게"할 수 있습니까?
- 26. 어떻게 장고 템플릿 태그에서 리디렉션을 만들 수 있습니까?
- 27. IIS/PHP에서 작동하도록 mod_rewrite 호환 리디렉션을 어떻게 얻을 수 있습니까?
- 28. WWW :: Mechanize의 POST에서 공백을 % 20으로 인코딩 할 수 있습니까?
- 29. Microsoft.XMLHTTP 개체로 301 리디렉션을 감지 할 수 있습니까?
- 30. Tomcat이 호스트 별칭을 필터링하여 SSL 리디렉션을 수행 할 수 있습니까?
max_redirect를 0으로 설정하려고 시도했지만 효과가 없습니다. – rfusca
실제로 max_redirect가 LWP와 Mech가 리디렉션을 따르지 않는지 여부에 영향을 미치지 않으면보고해야하는 버그입니다. –