#include <http.h>
Inheritance diagram for PHTTPClient:
Public Member Functions | |
PHTTPClient (const PString &userAgentName=PString::Empty()) | |
Create a new HTTP client channel. | |
int | ExecuteCommand (Commands cmd, const PURL &url, PMIMEInfo &outMIME, const PString &dataBody, PMIMEInfo &replyMime) |
Send a command and wait for the response header (including MIME fields). | |
int | ExecuteCommand (const PString &cmdName, const PURL &url, PMIMEInfo &outMIME, const PString &dataBody, PMIMEInfo &replyMime) |
PBoolean | WriteCommand (Commands cmd, const PString &url, PMIMEInfo &outMIME, const PString &dataBody) |
Write a HTTP command to server. | |
PBoolean | WriteCommand (const PString &cmdName, const PString &url, PMIMEInfo &outMIME, const PString &dataBody) |
PBoolean | ReadResponse (PMIMEInfo &replyMIME) |
Read a response from the server. | |
PBoolean | ReadContentBody (PMIMEInfo &replyMIME, PBYTEArray &body) |
Read the body of the HTTP command. | |
PBoolean | ReadContentBody (PMIMEInfo &replyMIME, PString &body) |
PBoolean | GetTextDocument (const PURL &url, PString &document, const PString &contentType=PString::Empty()) |
Get the document specified by the URL. | |
PBoolean | GetDocument (const PURL &url, PMIMEInfo &outMIME, PMIMEInfo &replyMIME) |
Get the document specified by the URL. | |
PBoolean | GetHeader (const PURL &url, PMIMEInfo &outMIME, PMIMEInfo &replyMIME) |
Get the header for the document specified by the URL. | |
PBoolean | PostData (const PURL &url, PMIMEInfo &outMIME, const PString &data, PMIMEInfo &replyMIME) |
Post the data specified to the URL. | |
PBoolean | PostData (const PURL &url, PMIMEInfo &outMIME, const PString &data, PMIMEInfo &replyMIME, PString &replyBody) |
Post the data specified to the URL. | |
bool | PutTextDocument (const PURL &url, const PString &document, const PString &contentType="text/plain") |
Put the document specified by the URL. | |
bool | PutDocument (const PURL &url, PMIMEInfo &outMIME, PMIMEInfo &replyMIME) |
Put the document specified by the URL. | |
bool | DeleteDocument (const PURL &url) |
Delete the document specified by the URL. | |
void | SetAuthenticationInfo (const PString &userName, const PString &password) |
Set authentication paramaters to be use for retreiving documents. | |
void | SetPersistent (bool persist=true) |
Set persistent connection mode. | |
bool | GetPersistent () const |
Get persistent connection mode. | |
Protected Member Functions | |
PBoolean | AssureConnect (const PURL &url, PMIMEInfo &outMIME) |
bool | InternalReadContentBody (PMIMEInfo &replyMIME, PAbstractArray *body) |
Protected Attributes | |
PString | m_userAgentName |
bool | m_persist |
PString | m_userName |
PString | m_password |
PHTTPClientAuthentication * | m_authentication |
When acting as a client, the procedure is to make the connection to a remote server, then to retrieve a document using the following procedure:
PHTTPSocket web("webserver");
if (web.IsOpen()) {
PINDEX len;
if (web.GetDocument("http://www.someone.com/somewhere/url", len)) {
PString html = web.ReadString(len);
if (!html.IsEmpty())
ProcessHTML(html);
}
else
PError << "Could not get page." << endl;
}
else
PError << "HTTP conection failed." << endl;
PHTTPClient::PHTTPClient | ( | const PString & | userAgentName = PString::Empty() |
) |
Create a new HTTP client channel.
bool PHTTPClient::DeleteDocument | ( | const PURL & | url | ) |
Delete the document specified by the URL.
url | Universal Resource Locator for document. |
int PHTTPClient::ExecuteCommand | ( | const PString & | cmdName, | |
const PURL & | url, | |||
PMIMEInfo & | outMIME, | |||
const PString & | dataBody, | |||
PMIMEInfo & | replyMime | |||
) |
int PHTTPClient::ExecuteCommand | ( | Commands | cmd, | |
const PURL & | url, | |||
PMIMEInfo & | outMIME, | |||
const PString & | dataBody, | |||
PMIMEInfo & | replyMime | |||
) |
Send a command and wait for the response header (including MIME fields).
Note that a body may still be on its way even if lasResponseCode is not 200!
Get the document specified by the URL.
url | Universal Resource Locator for document. |
outMIME | MIME info in request |
replyMIME | MIME info in response |
Get the header for the document specified by the URL.
url | Universal Resource Locator for document. |
outMIME | MIME info in request |
replyMIME | MIME info in response |
bool PHTTPClient::GetPersistent | ( | ) | const [inline] |
Get persistent connection mode.
PBoolean PHTTPClient::GetTextDocument | ( | const PURL & | url, | |
PString & | document, | |||
const PString & | contentType = PString::Empty() | |||
) |
Get the document specified by the URL.
An empty string for the contentType parameter means that any content type is acceptable.
url | Universal Resource Locator for document. |
document | Body read |
contentType | Content-Type header to expect |
bool PHTTPClient::InternalReadContentBody | ( | PMIMEInfo & | replyMIME, | |
PAbstractArray * | body | |||
) | [protected] |
PBoolean PHTTPClient::PostData | ( | const PURL & | url, | |
PMIMEInfo & | outMIME, | |||
const PString & | data, | |||
PMIMEInfo & | replyMIME, | |||
PString & | replyBody | |||
) |
Post the data specified to the URL.
url | Universal Resource Locator for document. |
outMIME | MIME info in request |
data | Information posted to the HTTP server. |
replyMIME | MIME info in response |
replyBody | Body of response |
PBoolean PHTTPClient::PostData | ( | const PURL & | url, | |
PMIMEInfo & | outMIME, | |||
const PString & | data, | |||
PMIMEInfo & | replyMIME | |||
) |
Post the data specified to the URL.
url | Universal Resource Locator for document. |
outMIME | MIME info in request |
data | Information posted to the HTTP server. |
replyMIME | MIME info in response |
Put the document specified by the URL.
url | Universal Resource Locator for document. |
outMIME | MIME info in request |
replyMIME | MIME info in response |
bool PHTTPClient::PutTextDocument | ( | const PURL & | url, | |
const PString & | document, | |||
const PString & | contentType = "text/plain" | |||
) |
Put the document specified by the URL.
url | Universal Resource Locator for document. |
document | Body read |
contentType | Content-Type header to use |
PBoolean PHTTPClient::ReadContentBody | ( | PMIMEInfo & | replyMIME, | |
PBYTEArray & | body | |||
) |
Read the body of the HTTP command.
Set authentication paramaters to be use for retreiving documents.
void PHTTPClient::SetPersistent | ( | bool | persist = true |
) | [inline] |
Set persistent connection mode.
PBoolean PHTTPClient::WriteCommand | ( | const PString & | cmdName, | |
const PString & | url, | |||
PMIMEInfo & | outMIME, | |||
const PString & | dataBody | |||
) |
PBoolean PHTTPClient::WriteCommand | ( | Commands | cmd, | |
const PString & | url, | |||
PMIMEInfo & | outMIME, | |||
const PString & | dataBody | |||
) |
Write a HTTP command to server.
PHTTPClientAuthentication* PHTTPClient::m_authentication [protected] |
PString PHTTPClient::m_password [protected] |
bool PHTTPClient::m_persist [protected] |
PString PHTTPClient::m_userAgentName [protected] |
PString PHTTPClient::m_userName [protected] |