NAME

LWP::Curl - LWP methods implementation with Curl engine

VERSION

Version 0.03.1

SYNOPSIS

Use libcurl like LWP, $lwpcurl->get($url), $lwpcurl->timeout(15) don't care about Curl API and don't care about html encode

    use LWP::Curl;

    my $lwpcurl = LWP::Curl->new();
	my $content = $lwpcurl->get('http://search.cpan.org','http://www.cpan.org'); 
	#get the page http://search.cpan.org passing with referer http://www.cpan.org

Constructor

new()

Creates and returns a new LWP::Curl object, hereafter referred to as the "lwpcurl".

my $lwpcurl = LWP::Curl->new()
  • timeout => sec

    Set the timeout value in seconds. The default timeout value is 180 seconds, i.e. 3 minutes.

  • headers => [0|1]

    Show HTTP headers when return a content. The default is false '0'

  • user_agent => 'agent86'

    Set the user agent string. The default is 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'

  • followlocation => [0|1]

    If the spider receive a HTTP 301 ( Redirect ) they will follow?. The default is 1.

  • auto_encode => [0|1]

    Turn on/off auto encode urls, for get/post.

  • maxredirs => number

    Set how deep the spider will follow when receive HTTP 301 ( Redirect ). The default is 3.

METHODS

$lwpcurl->get($url,$referer)

  Get content of $url, passando $referer se definido

    use LWP::Curl;
	my $referer = 'http://www.example.com';
	my $get_url = 'http://www.example.com/foo';
    my $lwpcurl = LWP::Curl->new();
	my $content = $lwpcurl->get($get_url, $referer); 

$lwpcurl->post($url,$hash_form,$referer)

  POST the $hash_form fields in $url, passing $referer if defined

    use LWP::Curl;

    my $lwpcurl = LWP::Curl->new();

	my $referer = 'http://www.examplesite.com/';
	my $post_url = 'http://www.examplesite.com/post/';

	my $hash_form = { 
		'field1' => 'value1',
		'field2' => 'value2',
	}

	my $content = $lwpcurl->post($post_url, $hash_form, $referer); 

$lwpcurl->timeout($sec)

Set timeout, default 180

$lwpcurl->auto_encode($value)

Turn on/off auto_encode

$lwpcurl->agent_alias($alias)

Copy from L<WWW::Mechanize> begin here
____________________________________
Sets the user agent string to the expanded version from a table of actual user strings.
I<$alias> can be one of the following:
  • Windows IE 6

  • Windows Mozilla

  • Mac Safari

  • Mac Mozilla

  • Linux Mozilla

  • Linux Konqueror

   then it will be replaced with a more interesting one.  For instance,
   ____________________________________

   Copy from L<WWW::Mechanize> ends here, but the idea and the data structure is a copy too :) 
   
   $lwpcurl->agent_alias( 'Windows IE 6' );

	   sets your User-Agent to
	    
		Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

TODO

This is a small list of features I'm plan to add. Feel free to contribute with your wishlist and comentaries!

  • Test for the upload method

  • Improve the Documentation and tests

  • Support Cookies

  • Support Proxys

  • PASS in all tests of LWP

  • Make a patch to WWW::Mechanize, todo change engine, like "new(engine => 'LWP::Curl')"

AUTHOR

Lindolfo Rodrigues de Oliveira Neto, <lorn at cpan.org>

BUGS

Please report any bugs or feature requests to bug-lwp-curl at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=LWP-Curl. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc LWP::Curl

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to Breno G. Oliveira for the great tips.

COPYRIGHT & LICENSE

Copyright 2008 Lindolfo Rodrigues de Oliveira Neto, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.