![]() | Patrick's Programming Library Version 6.4.21 - Dokumentation |
CURL-Klasse. Mehr ...
Öffentliche Typen | |
enum | HTTPVERSION { HTTP_1_0 =1, HTTP_1_1 } |
Öffentliche Methoden | |
CCurl () | |
Constructor der Curl-Klasse. Mehr ... | |
~CCurl () | |
int | AddCAFile (const char *filename) |
int | AddPostVar (const char *name, const char *data, const char *contenttype=NULL) |
int | AddPostVar (const char *name, int val, const char *contenttype=NULL) |
int | AddPostVar (CAssocArray ¶m, const char *prefix=NULL) |
void | Clear () |
int | ClearHeader () |
Angepasste HTTP-Header löschen. Mehr ... | |
int | CopyResultBuffer (CBinary &bin) |
void | DebugHandler (int type, const char *data, size_t size) |
Ausgabe von Debug-Information durch libcurl. Mehr ... | |
int | EnableSignals (bool enable) |
Signal-Handler ein- oder ausschalten. Mehr ... | |
int | Escape (CString &target, CAssocArray &source) |
int | Escape (CString &string) |
int | Get () |
int | Get (const char *parameter) |
int | Get (CAssocArray ¶m) |
GET-Aufruf mit Parametern aus einem Array. Mehr ... | |
void * | getCurlHandle () const |
int | GetHeader (CString &str) |
CString | GetHeader () |
CString | GetLastURL () |
int | GetResultBuffer (void **buffer, size_t *size) |
int | GetResultBuffer (CBinary &bin) |
CString | GetResultBuffer () |
const char * | GetURL () |
int | Post () |
int | Post (CAssocArray ¶m) |
Daten Multipart-encoded senden. Mehr ... | |
int | PostFields (CAssocArray ¶m) |
Daten URL-encoded posten. Mehr ... | |
int | Reset () |
int | SetBrowser (const char *browser) |
int | SetHeader (const char *name, const char *value) |
HTTP-Header setzen. Mehr ... | |
int | SetHttpVersion (CCurl::HTTPVERSION version) |
void | SetLogfile (CLog *log) |
int | SetMaximumPersistantConnects (int value) |
int | SetPassword (const CString &password) |
int | SetProxy (const char *proxy, int port) |
int | SetReferer (const char *url) |
int | SetTimeout (int seconds) |
int | SetURL (const char *url) |
int | SetUsername (const CString &username) |
int | SetUserPassword (const char *username, const char *password) |
int | SetUserPassword (const char *userpassword) |
size_t | StoreResult (void *ptr, size_t bytes, int type) |
int | VerifyPeer (bool verify) |
Öffentliche, statische Methoden | |
static bool | isSupported () |
Öffentliche Attribute | |
CNotifyHandler | call_done |
CNotifyHandler | call_receive |
CNotifyHandler | call_send |
Private Methoden | |
int | SetOptOk (int ret) |
Private Attribute | |
bool | aboard |
CString | Browser |
char * | errorbuffer |
CString | GetCall |
void * | handle |
CString | Header |
void * | headers |
void * | last |
CLog * | log |
void * | post |
CString | Proxy |
CString | Referer |
char * | resultbuffer |
size_t | resultbuffer_size |
CString | Url |
CString | UserPassword |
Die Klasse CCurl ist eine Wrapper-Klasse zur Curl-Library, mit der Daten von Web- und FTP-Server geholt werden können.
ppl6::CCurl::CCurl | ( | ) |
Der Konstruktor prüft zunächst, ob "curl_global_init" schon aufgerufen wurde. Dazu wird ein globaler Mutex gesetzt.
Liefert "curl_global_init" einen Fehler zurück, wird "handle" auf NULL gesetzt und der Konstruktor wird ohne weitere Initialisierung beendet. Alle weiteren Funktionen geben bei Aufruf einen Fehler zurück und es wird Fehlercode 353 gesetzt.
War Curl bereits initialisiert oder die Initialisierung war erfolgreich, wird ein Instance-Counter hochgezählt. Der Destructor zählt diesen wieder runter und bei Erreichen von 0 wird Curl wieder Deinitialisiert.
ppl6::CCurl::~CCurl | ( | ) |
int ppl6::CCurl::AddCAFile | ( | const char * | filename | ) |
int ppl6::CCurl::AddPostVar | ( | const char * | name, |
const char * | data, | ||
const char * | contenttype = NULL |
||
) |
int ppl6::CCurl::AddPostVar | ( | const char * | name, |
int | val, | ||
const char * | contenttype = NULL |
||
) |
int ppl6::CCurl::AddPostVar | ( | CAssocArray & | param, |
const char * | prefix = NULL |
||
) |
void ppl6::CCurl::Clear | ( | ) |
int ppl6::CCurl::ClearHeader | ( | ) |
Mit dieser Funktion werden alle angepassten Header-Zeilen gelöscht. Siehe auch CCurl::SetHeader.
int ppl6::CCurl::CopyResultBuffer | ( | CBinary & | bin | ) |
void ppl6::CCurl::DebugHandler | ( | int | type, |
const char * | data, | ||
size_t | size | ||
) |
type | Art der Information. Mögliche Werte: CURLINFO_TEXT, CURLINFO_HEADER_IN, CURLINFO_HEADER_OUT, CURLINFO_DATA_IN, CURLINFO_DATA_OUT |
data | Der Debug-Text |
size | Länge des Textes |
int ppl6::CCurl::EnableSignals | ( | bool | enable | ) |
enable | true=Signals sind zugelassen, false=keine Signals (Default) |
int ppl6::CCurl::Escape | ( | CString & | target, |
CAssocArray & | source | ||
) |
int ppl6::CCurl::Escape | ( | CString & | string | ) |
int ppl6::CCurl::Get | ( | ) |
int ppl6::CCurl::Get | ( | const char * | parameter | ) |
int ppl6::CCurl::Get | ( | CAssocArray & | param | ) |
param
.[in] | param | Ein Assoziatives Array mit den zusätzlichen Parametern. Die Parameter werden automatisch escaped! |
void * ppl6::CCurl::getCurlHandle | ( | ) | const |
int ppl6::CCurl::GetHeader | ( | CString & | str | ) |
CString ppl6::CCurl::GetHeader | ( | ) |
CString ppl6::CCurl::GetLastURL | ( | ) |
int ppl6::CCurl::GetResultBuffer | ( | void ** | buffer, |
size_t * | size | ||
) |
int ppl6::CCurl::GetResultBuffer | ( | CBinary & | bin | ) |
CString ppl6::CCurl::GetResultBuffer | ( | ) |
const char * ppl6::CCurl::GetURL | ( | ) |
|
static |
int ppl6::CCurl::Post | ( | ) |
int ppl6::CCurl::Post | ( | CAssocArray & | param | ) |
int ppl6::CCurl::PostFields | ( | CAssocArray & | param | ) |
Diese Funktion baut aus den angegebenen Parametern einen einzelnen URL-encodeten String und verwendet die Option CURLOPT_POSTFIELDS zum Senden der Daten.
param |
int ppl6::CCurl::Reset | ( | ) |
int ppl6::CCurl::SetBrowser | ( | const char * | browser | ) |
int ppl6::CCurl::SetHeader | ( | const char * | name, |
const char * | value | ||
) |
Mit dieser Funktion wird eine zusätzliche Zeile im HTTP-Header gesetzt oder gelöscht. Zum Setzen einer Variable müssen beide Parameter (name
und value
) angegeben werden. Um eine Variable zu löschen, muss name
angegeben werden und value
muss NULL sein. Um alle Custom-Header-Zeilen zu löschen, kann die Funktion CCurl::ClearHeader verwendet werden.
[in] | name | Name der Header-Variablen |
[in] | value | Wert der Variablen oder NULL, wenn die Variable gelöscht werden soll |
int ppl6::CCurl::SetHttpVersion | ( | CCurl::HTTPVERSION | version | ) |
void ppl6::CCurl::SetLogfile | ( | CLog * | log | ) |
int ppl6::CCurl::SetMaximumPersistantConnects | ( | int | value | ) |
|
private |
int ppl6::CCurl::SetPassword | ( | const CString & | password | ) |
int ppl6::CCurl::SetProxy | ( | const char * | proxy, |
int | port | ||
) |
int ppl6::CCurl::SetReferer | ( | const char * | url | ) |
int ppl6::CCurl::SetTimeout | ( | int | seconds | ) |
int ppl6::CCurl::SetURL | ( | const char * | url | ) |
int ppl6::CCurl::SetUsername | ( | const CString & | username | ) |
int ppl6::CCurl::SetUserPassword | ( | const char * | username, |
const char * | password | ||
) |
int ppl6::CCurl::SetUserPassword | ( | const char * | userpassword | ) |
size_t ppl6::CCurl::StoreResult | ( | void * | ptr, |
size_t | bytes, | ||
int | type | ||
) |
int ppl6::CCurl::VerifyPeer | ( | bool | verify | ) |
|
private |
|
private |
CNotifyHandler ppl6::CCurl::call_done |
CNotifyHandler ppl6::CCurl::call_receive |
CNotifyHandler ppl6::CCurl::call_send |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |