GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
HTTP::Simple(3) User Contributed Perl Documentation HTTP::Simple(3)

HTTP::Simple - Simple procedural interface to HTTP::Tiny

  perl -MHTTP::Simple -e'getprint(shift)' 'https://example.com'

  use HTTP::Simple;

  my $content = get 'https://example.com';

  if (mirror('https://example.com', '/path/to/file.html') == 304) { ... }

  if (is_success(getprint 'https://example.com')) { ... }

  postform('https://example.com', {foo => ['bar', 'baz']});

  postjson('https://example.com', [{bar => 'baz'}]);

  postfile('https://example.com', '/path/to/file.png');

This module is a wrapper of HTTP::Tiny that provides simplified functions for performing HTTP requests in a similar manner to LWP::Simple, but with slightly more useful error handling. For full control of the request process and response handling, use HTTP::Tiny directly.

IO::Socket::SSL is required for HTTPS requests with HTTP::Tiny.

Request methods that return the body content of the response will return a byte string suitable for directly printing, but that may need to be decoded for text operations.

The HTTP::Tiny object used by these functions to make requests can be accessed as $HTTP::Simple::UA (for example, to configure the timeout, or replace it with a compatible object like HTTP::Tinyish).

The JSON encoder used by the JSON functions can be accessed as $HTTP::Simple::JSON, and defaults to a Cpanel::JSON::XS object if Cpanel::JSON::XS 4.11+ is installed, and otherwise a JSON::PP object. If replaced with a new object, it should have UTF-8 encoding/decoding enabled (usually the "utf8" option). If it is set to a string, it will be used as a module name that is expected to have "decode_json" and "encode_json" functions.

All functions are exported by default. Functions can also be requested individually or with the tags ":request", ":status", or ":all".

  my $contents = get($url);

Retrieves the document at the given URL with a GET request and returns it as a byte string. Throws an exception on connection or HTTP errors.

  my $data = getjson($url);

Retrieves the JSON document at the given URL with a GET request and decodes it from JSON to a Perl structure. Throws an exception on connection, HTTP, or JSON errors.

  my $headers = head($url);

Retrieves the headers at the given URL with a HEAD request and returns them as a hash reference. Header field names are normalized to lower case, and values may be an array reference if the header is repeated. Throws an exception on connection or HTTP errors.

  my $status = getprint($url);

Retrieves the document at the given URL with a GET request and prints it as it is received. Returns the HTTP status code. Throws an exception on connection errors.

  my $status = getstore($url, $path);

Retrieves the document at the given URL with a GET request and stores it to the given file path. Returns the HTTP status code. Throws an exception on connection or filesystem errors.

  my $status = mirror($url, $path);

Retrieves the document at the given URL with a GET request and mirrors it to the given file path, using the "If-Modified-Since" headers to short-circuit if the file exists and is new enough, and the "Last-Modified" header to set its modification time. Returns the HTTP status code. Throws an exception on connection, HTTP, or filesystem errors.

  my $contents = postform($url, $form);

Sends a POST request to the given URL with the given hash or array reference of form data serialized to "application/x-www-form-urlencoded". Returns the response body as a byte string. Throws an exception on connection or HTTP errors.

  my $contents = postjson($url, $data);

Sends a POST request to the given URL with the given data structure encoded to JSON. Returns the response body as a byte string. Throws an exception on connection, HTTP, or JSON errors.

  my $contents = postfile($url, $path);
  my $contents = postfile($url, $path, $content_type);

Sends a POST request to the given URL, streaming the contents of the given file. The content type is passed as "application/octet-stream" if not specified. Returns the response body as a byte string. Throws an exception on connection, HTTP, or filesystem errors.

  my $bool = is_info($status);

Returns true if the status code indicates an informational response ("1xx").

  my $bool = is_success($status);

Returns true if the status code indicates a successful response ("2xx").

  my $bool = is_redirect($status);

Returns true if the status code indicates a redirection response ("3xx").

  my $bool = is_error($status);

Returns true if the status code indicates an error response ("4xx" or "5xx").

  my $bool = is_client_error($status);

Returns true if the status code indicates a client error response ("4xx").

  my $bool = is_server_error($status);

Returns true if the status code indicates a server error response ("5xx").

Report any issues on the public bugtracker.

Dan Book <dbook@cpan.org>

This software is Copyright (c) 2019 by Dan Book.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)

LWP::Simple, HTTP::Tinyish, ojo
2019-05-08 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.