Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MHTTP(3)	      User Contributed Perl Documentation	      MHTTP(3)

NAME
       HTTP::MHTTP - this library provides reasonably low level	access to the
       HTTP protocol, for perl.	 This does not replace LWP (what possibly
       could :-) but is	a cut for speed.  It also supports all of HTTP 1.0, so
       you have	GET, POST, PUT,	HEAD, and DELETE.  Some	support	of HTTP	1.1 is
       available - sepcifically	Transfer-Encoding = chunked and	the Keep-Alive
       extensions.

       Additionally - rudimentary SSL support can be compiled in.  This
       effectively enables negotiation of TLS, but does	not validate the
       certificates.

SYNOPSIS
	use HTTP::MHTTP;

	http_init();

	http_add_headers(
		      'User-Agent' => 'DVSGHTTP1/1',
		      'Accept-Language'	=> 'en-gb',
		      'Connection' => 'Keep-Alive',
			  );
	if (http_call("GET", "http://localhost")){
	  if (http_status() == 200 ){
	    print http_response();
	  } else {
	    print "MSG:	".http_reason();
	  }
	} else {
	  print	"call failed \n";
	}

DESCRIPTION
       A way faster http access	library	that uses C extension based on mhttp
       to do the calls.

   http_init()
       initialise the mhttp library - must be called once to reset all
       internals, use http_reset() if you don't	need to	reset your headers
       before the next call.

   http_set_protocol()
	 http_set_protocol(1);	# now operating	in HTTP	1.1 mode

       Set the protocol	level to use - either HTTP 1.0 or 1.1 by passing 0 or
       1 - the default is 0 (HTTP 1.0).

   http_reset()
       reset the library internals for everything except the headers specified
       previously, and the debug switch.  Call http_init() if you need to
       reset everything.

   switch_debug()
	 switch_debug(<0 || 1>)

       Toggle the internal debugging on	and off	by passing either > 1 or 0.

   http_add_headers()
	 http_add_headers(
			'User-Agent' =>	'HTTP-MHTTP1/0',
			'Host' => 'localhost',
			'Accept-Language' => 'en-gb',
		       );

       pass in header/value pairs that will be set on the next http_call().

   http_body()
	 http_body("this is the	body");

       Set the body of the next	request	via http_call().

   http_call()
	 my $rc	= http_call("GET", "http://localhost");

       Do an http request.  Returns either < 0 or 1 depending on whether the
       call was	successful - remember to still check the http_status() code
       though.

       Value < 0 are:
	       -1 : an invalid action (HTTP verb) was supplied
	       -2 : must supply	an action (HTTP	verb)
	       -3 : must supply	a url
	       -4 : url	must start with	http://	or https://
	       -5 : write of headers to	socket failed
	       -6 : write of data to socket was	short
	       -7 : failed to write last line to socket
	       -8 : something wrong with the Conent-Length header
	      -11 : SSL_CTX_new	failed - abort everything
	      -12 : SSL_new failed - abort everything
	      -13 : SSL_connect	failed - abort everything
	      -14 : SSL_get_peer_certificate failed - abort everything
	      -15 : X509_get_subject_name failed - abort everything
	      -16 : X509_get_issuer_name failed	- abort	everything
	      -17 : cant find the next chunk for Transfer-encoding
	      -18 : cant find end headers
	      -19 : You	must supply a Host header for HTTP/1.1

   http_status()
       Returns the last	status code.

   http_reason()
       Returns the last	reason code.

   http_headers()
       Returns the headers of the last call, as	a single string.

   http_split_headers()
       Returns the split out array ref of array	ref header value pairs of the
       last call.  [ [ hdr, val], [hdr,	val] ... ]

   http_response_length()
       Returns the length of the body of the last call.

   http_response()
       Returns the body	of the last call.

   basic_authorization()
	 my $pass = basic_authorization($user, $password);

       Construct the basic authorization value to be passed in an
       "Authorization" header.

COPYRIGHT
       Copyright (c) 2003, Piers Harding. All Rights Reserved.	This module is
       free software. It may be	used, redistributed and/or modified under the
       same terms as Perl itself.

AUTHOR
       Piers Harding, piers@ompa.net.

SEE ALSO
       perl(1)

perl v5.24.1			  2003-12-13			      MHTTP(3)

NAME | SYNOPSIS | DESCRIPTION | COPYRIGHT | AUTHOR | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HTTP::MHTTP&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help