HTTP client request class 2008.01.03 (Default branch)


 
Thread Tools Search this Thread
Special Forums News, Links, Events and Announcements Software Releases - RSS News HTTP client request class 2008.01.03 (Default branch)
# 1  
Old 01-04-2008
HTTP client request class 2008.01.03 (Default branch)

Image HTTP client is a PHP class to make HTTP requests. It can establish connections via a SOCKS server, send requests via a proxy server, and establish secure connections (HTTPS) with optional SSL client certificates. It supports HTTP authentication mechanisms like HTTP Basic, HTTP Digest, and NTLM (Windows or Samba). It submits POST requests with user-defined form values, file uploading, or with user-defined request bodies. It handles cookies and automatic redirection handling. There is an addon class to log in to Yahoo and execute actions on behalf of the user, like exporting the address book or sending invitations to Yahoo groups. License: BSD License (original) Changes:
This release introduces the support to establish connections via a SOCKS 5 server. A new option was added to avoid using the Curl library when sending SSL requests.Image

More...
Login or Register to Ask a Question

Previous Thread | Next Thread
Login or Register to Ask a Question
SSL(3)							User Contributed Perl Documentation						    SSL(3)

NAME
HTTP::Daemon::SSL - a simple http server class with SSL support SYNOPSIS
use HTTP::Daemon::SSL; use HTTP::Status; # Make sure you have a certs/ directory with "server-cert.pem" # and "server-key.pem" in it before running this! my $d = HTTP::Daemon::SSL->new || die; print "Please contact me at: <URL:", $d->url, "> "; while (my $c = $d->accept) { while (my $r = $c->get_request) { if ($r->method eq 'GET' and $r->url->path eq "/xyzzy") { # remember, this is *not* recommened practice :-) $c->send_file_response("/etc/passwd"); } else { $c->send_error(RC_FORBIDDEN) } } $c->close; undef($c); } DESCRIPTION
Instances of the HTTP::Daemon::SSL class are HTTP/1.1 servers that listen on a socket for incoming requests. The HTTP::Daemon::SSL is a sub-class of IO::Socket::SSL, so you can perform socket operations directly on it too. The accept() method will return when a connection from a client is available. In a scalar context the returned value will be a reference to a object of the HTTP::Daemon::ClientConn::SSL class which is another IO::Socket::SSL subclass. In a list context a two-element array is returned containing the new HTTP::Daemon::ClientConn::SSL reference and the peer address; the list will be empty upon failure. (Note that version 1.02 erroneously did not honour list context). Calling the get_request() method on the HTTP::Daemon::ClientConn::SSL object will read data from the client and return an HTTP::Request object reference. This HTTPS daemon does not fork(2) for you. Your application, i.e. the user of the HTTP::Daemon::SSL is reponsible for forking if that is desirable. Also note that the user is responsible for generating responses that conform to the HTTP/1.1 protocol. The HTTP::Daemon::ClientConn class provides some methods that make this easier. METHODS
The following methods are the only differences from the HTTP::Daemon base class: $d = new HTTP::Daemon::SSL The constructor takes the same parameters as the IO::Socket::SSL constructor. It can also be called without specifying any parameters, but you will have to make sure that you have an SSL certificate and key for the server in certs/server-cert.pem and certs/server-key.pem. See the IO::Socket::SSL documentation for how to change these default locations and specify many other aspects of SSL behavior. The daemon will then set up a listen queue of 5 connections and allocate some random port number. A server that wants to bind to some specific address on the standard HTTPS port will be constructed like this: $d = new HTTP::Daemon::SSL LocalAddr => 'www.someplace.com', LocalPort => 443; SEE ALSO
RFC 2068 IO::Socket::SSL, HTTP::Daemon, Apache COPYRIGHT
Code and documentation from HTTP::Daemon Copyright 1996-2001, Gisle Aas Changes Copyright 2003-2004, Peter Behroozi This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. POD ERRORS
Hey! The above document had some coding errors, which are explained below: Around line 164: You forgot a '=back' before '=head1' perl v5.12.1 2008-02-12 SSL(3)