Repository navigation
Easy Handle Reference
Qriist edited this page Sep 17, 2026
·
2 revisions
The Easy Handle is the primary interface for performing HTTP transfers in LibQurl. This reference lists the public Core methods that operate on an easy_handle, their primary function, and links to the official libcurl documentation for the underlying mechanism.
| Method | Description | libcurl Reference |
|---|---|---|
EasyInit() |
Creates a new easy handle with sensible defaults. | curl_easy_init |
Cleanup(easy_handle?) |
Releases the handle and frees associated callbacks. | curl_easy_cleanup |
DupeInit(old_easy_handle?) |
Creates a logical clone of an existing handle's options. | curl_easy_duphandle |
| Method | Description | libcurl Reference |
|---|---|---|
SetOpt(option, parameter, easy_handle?) |
Sets a single option on the handle. | curl_easy_setopt |
GetOpt(option, easy_handle?) |
Retrieves the current value of a set option. | — |
SetHeaders(headersObject, easy_handle?) |
Configures custom HTTP request headers. | curl_slist_append |
SetPost(sourceData, easy_handle?) |
Prepares the request body for POST/PUT transfers. | curl_easy_setopt |
SetUpload(sourceData, startByte?, numBytes?, easy_handle?) |
Prepares data for byte-range capable uploads. | curl_easy_setopt |
ClearPost(easy_handle?) |
Scrubs POST/UPLOAD state and resets the verb to GET. | curl_easy_setopt |
| Method | Description | libcurl Reference |
|---|---|---|
Sync(easy_handle?) |
Performs a blocking transfer on the handle. | curl_easy_perform |
Pause(easy_handle?) |
Halts the active download or upload. | curl_easy_pause |
UnPause(easy_handle?) |
Resumes the halted transfer. | curl_easy_pause |
Upkeep(easy_handle?) |
Performs internal handle maintenance and state checks. | curl_easy_upkeep |
| Method | Description | libcurl Reference |
|---|---|---|
GetLastBody(returnAsEncoding := "UTF-8", easy_handle?) |
Retrieves the response body from the last transfer. | — |
GetLastHeaders(returnAsEncoding := "UTF-8", easy_handle?) |
Retrieves the response headers from the last transfer. | — |
GetLastStatus(easy_handle?) |
Retrieves the HTTP status code from the last transfer. | — |
GetInfo(infoOption, easy_handle?) |
Retrieves specific transfer metrics or data. | curl_easy_getinfo |
GetAllHeaders(easy_handle?) |
Enumerates all headers received across redirect hops. | curl_easy_nextheader |
InspectHeader(name, index := 0, origin?, request := -1, easy_handle?) |
Inspects a specific header by name and position. | curl_easy_header |
| Method | Description | libcurl Reference |
|---|---|---|
RawSend(outgoing, easy_handle?) |
Transmits raw protocol-level data. | curl_easy_send |
RawReceive(easy_handle?) |
Receives raw protocol-level data. | curl_easy_recv |
WebSocketSend(content, flagArr := ["TEXT"], easy_handle?) |
Sends a framed WebSocket message. | curl_ws_send |
WebSocketReceive(easy_handle?) |
Receives a framed WebSocket message. | curl_ws_recv |
| Method | Description | libcurl Reference |
|---|---|---|
GetVersionInfo() |
Returns the active libcurl version and features. | curl_version_info |
GetErrorString(errornum) |
Resolves a numeric error code to its string description. | curl_easy_strerror |
ListHandles() |
Returns a plaintext listing of all open easy handles. | — |
GetProgress(easy_handle?) |
Returns the current progress callback data. | — |
DownloadPercent(easy_handle?) |
Calculates the download completion percentage. | — |
UploadPercent(easy_handle?) |
Calculates the upload completion percentage. | — |
EnableDebug(easy_handle?) |
Enables debug logging for the handle. | curl_global_trace |
PollDebug(easy_handle?) |
Formats and returns the captured debug log entries. | — |
ExportSSLs(easy_handle?, share_handle?) |
Exports serialized SSL session data for resumption. | curl_easy_ssls_export |
ImportSSLs(importArr, easy_handle?) |
Applies previously saved SSL session data. | curl_easy_ssls_import |
- Multi Handle Reference — concurrent transfer pool management
- Share Handle Reference — cross-handle state sharing
- Utility Methods Reference — standalone helper functions
Foundations
Operations
- Download Modes
- Setting and Listing Options
- Setting and Inspecting Headers
- POST and Upload
- Multiple Easy Handles
- Async and Multi Interface
- URL Construction
- Share Interface
- MIME and Multipart
- Raw Send and Receive
- Pause and Resume
- WebSocket
- SSL Sessions
- Debug and Diagnostics
API Reference
- Easy Handle Reference
- Multi Handle Reference
- Share Handle Reference
- MIME Handle Reference
- URL Handle Reference
- Utility Methods Reference
- WebSocket Reference
Code Snippets