누군가가 WWW::Curl::Multi을 사용하는 실제적인 예가 있습니까?WWW :: Curl :: Multi의 예가 있습니까?
답변
은 지역 사회에 당신에게 통찰력을 제공하기 위해 : 내가 사용 알 결코WWW::Curl::Multi
을했습니다. 압도적 인 다수는 POE::Component::Client::HTTP
(ftp 및 기타 클라이언트의 경우 다른 클라이언트가 있음) 또는 Parallel::ForkManager
및 LWP
으로 평행 한 http 요구를 만족시킵니다. 곱슬 곱슬 함이 좋지 않고 추가 된 다중 네트워크 기능이 좋지 않다는 것을 말하자면 실제로 다른 두 구현은 다이 더 일반적이라고 말할 수 있습니다.
나는 curl multi가 PHP 커뮤니티에 대해 훌륭하게 작동한다는 것을 인정하고 싶습니다. 그리고 나는 perl 바인딩에 대해 나쁘지 않습니다.
curl homepage을 사용해 보셨습니까? CPAN documentation은
이라고 말합니다.이 모듈은 libcurl에 대한 Perl 인터페이스를 제공합니다. 독립 실행 형 모듈을위한 것이 아니므로 기본 libcurl 문서는 API 세부 정보 (http://curl.haxx.se)를 참조해야합니다. 지금 읽고있는 문서에는 Perl의 특정 세부 사항, 일부 샘플 코드 및 C API와 Perl의 차이점 만 포함되어 있습니다.
그러나, 주요 CPAN 페이지에 모두 WWW::Curl::Easy
및 WWW::Curl::Multi
의 예는이 : http://search.cpan.org/perldoc?WWW::Curl#WWW::Curl::Multi
모듈 용 테스트 슈트는 종종 예제를 찾는 데 적합합니다.
Net :: Curl :: Multi 살펴보기, 지금 실험 중입니다. 최소한 www 버전이 충돌 한 곳에서 작동합니다. 나는 libcurl에서의 최신 github의 버전을 사용하고이 예제는
use Net::Curl::Multi qw(:constants);
use Net::Curl::Easy qw(:constants);
my $start =shift;
my $stop =shift;
my $usetor=1;
my $outdir = "outtest";
if (! -d $outdir)
{
mkdir $outdir or die "cannot makedir " . $outdir;
}
my $multi = Net::Curl::Multi->new();
foreach my $id ($start ... $stop)
{
my $file = $outdir . "/body_$id.html";
if (
(!-f $file) ||
(-z $file)
)
{
my $easy = Net::Curl::Easy->new();
if ($usetor)
{
$easy->setopt(CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
$easy->setopt(CURLOPT_PROXY,"localhost:9050"); #tor
}
$easy->setopt(CURLOPT_FOLLOWLOCATION, 1);
$easy->setopt(CURLOPT_TIMEOUT, 30);
$easy->setopt(CURLOPT_URL, 'http://www.example.com/searchform');
$easy->setopt(CURLOPT_CUSTOMREQUEST,"POST");
# extract these by looking at the headers
$easy->setopt(CURLOPT_POSTFIELDS,"ScriptManager=......&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=&SearchField=${id}&OtherField=&SomeField=&ScrollTop=&__dnnVariable=&__VIEWSTATEENCRYPTED=&ButtonName=Search");
$easy->setopt(CURLOPT_WRITEFUNCTION,
sub {
my $self=shift;
my $data=shift;
my $len = length($data);
open BODY, ">>$file" or die "cannot open $file";
print BODY $data;
close BODY;
warn "Write called: for $file and $len";
return $len;
}
);
$multi->add_handle($easy);
}
}
my $running = 0;
do {
my ($r, $w, $e) = $multi->fdset();
my $timeout = $multi->timeout();
select $r, $w, $e, $timeout/1000
if $timeout > 0;
$running = $multi->perform();
while (my ($msg, $easy, $result) = $multi->info_read()) {
warn "finished $msg $easy $result";
$multi->remove_handle($easy);
# process $easy
}
} while ($running);
- 1. WWW :: Curl이 POST 본문에 WWW :: Curl :: Form 데이터를 첨부하지 못했습니다.
- 2. WWW : Curl :: Easy의 출력을 Perl의 변수로 가져 오는 방법
- 3. Www-data/var/www/
- 4. 'scala.swing'을 사용하는 좋은 예가 있습니까?
- 5. Ajax 페이징의 좋은 예가 있습니까?
- 6. Perl의 WWW :: Mechanize와 동일한 PHP가 있습니까?
- 7. iAd를 애플리케이션에 통합하는 방법에 대한 예가 있습니까?
- 8. 실제로 MVC 프레임 워크의 좋은 예가 있습니까?
- 9. 유용한 사용 설명서의 좋은 예가 있습니까?
- 10. WCF 서비스가 온라인 상태인지 확인하는 예가 있습니까?
- 11. HTML5 Canvas에서 사변형의 사용 예가 있습니까?
- 12. 누구나 TAP 또는 SNPP 예가 있습니까?
- 13. 디 컴파일하기 어려운 코드의 예가 있습니까?
- 14. 좋은 Android 트위터 클라이언트의 예가 있습니까?
- 15. 사용자가 소켓에서 채팅하는 PHP 사용자의 예가 있습니까?
- 16. iPhone OS에서 가속도계를 사용하는 좋은 예가 있습니까?
- 17. 누구나 Haystack/Solr를 Django와 통합하는 예가 있습니까?
- 18. 하스켈 모나드 함수를 사용하는 좋은 예가 있습니까?
- 19. 누군가가 CookieTempDataProvider를 사용하는 방법에 대한 예가 있습니까?
- 20. Java로 인쇄하는 최근의 좋은 예가 있습니까?
- 21. http : // 및 http : // www. https : // www
- 22. CLI cURL to PHP cURL
- 23. DES 예가 잘못 되었습니까?
- 24. 펄 WWW : : 기계화 JSESSION이 문제
- 25. curl to webmail로 로그인
- 26. Blackberry Widget : 장치의 www 폴더는 어디에 있습니까?
- 27. 실제 예가 AttachedPropertyBrowsableWhenAttributePresentAttribute 사용법입니까?
- 28. Monodroid가있는 sqlite의 예가 필요합니다.
- 29. CTE의 예가 Cursor보다 낫다.
- 30. curl, file_get_contents를 사용하는 방법?
가 WWW 아무 문제 찾는위한 서버에 게시물이 없습니다 않는 인터넷 :: 컬 Makefile.pl 에서 버전 체크를 제거했다 : : Curl :: 쉽고 컬 API를 이해합니다. WWW :: Curl :: Multi를 사용하여 멀티 스레딩 예제를 찾고 있습니다. – user218189
그 페이지에 여러 예제가 있습니다 - 좀 더 구체적인 것을 찾고 계셨습니까? 당신이하려고하는 것에 대한 코드 스 니펫을 게시 할 수 있습니까? – Ether
감사합니다. Evan, POE :: Component :: Client :: HTTP를 시도해 보겠습니다. @all : 이미 모든 매뉴얼을 읽었으며 Google로하는 방법을 알고 있습니다. 문제는 "누군가 WWW :: Curl :: Multi를 사용하는 __working__ 예제를 가지고 있습니까? 저는 독립 실행 형 바이너리로 매일 컬을 사용하고 스크립트에는 www : curl : easy를 사용합니다. 어떻게 작동하는지 매우 행복하지 않다. 나는 누군가가 이미 실용적인 생산적인 예를 가지고 있다고 생각했다. ... 나는 하루 이틀 정도 기다려야한다. 아무도 (: - /) 예제가 없다면 나는 에반에게 그 점을 줄 것이다. POE와 좋은 팁. – user218189