Class: Easy
Defined in: src/core/easy.ts:48
Curl - Low-level wrapper around libcurl easy interface
Provides direct access to curl_easy_* functions with proper memory management for callbacks and string lists.
Constructors
Constructor
new Easy(
options?):Curl
Defined in: src/core/easy.ts:54
Parameters
options?
CurlOptions = {}
Returns
Curl
Methods
cleanup()
cleanup():
void
Defined in: src/core/easy.ts:400
Cleanup and release resources
Returns
void
dupHandle()
dupHandle():
Curl
Defined in: src/core/easy.ts:338
Duplicate this curl handle Returns a new Curl instance with the same options
Returns
Curl
getContentType()
getContentType():
string|null
Defined in: src/core/easy.ts:190
Get content type from response
Returns
string | null
getEffectiveUrl()
getEffectiveUrl():
string|null
Defined in: src/core/easy.ts:183
Get effective URL (after redirects)
Returns
string | null
getHandle()
getHandle():
unknown
Defined in: src/core/easy.ts:92
Get the underlying curl handle (for use with CurlMulti)
Returns
unknown
getHttpVersion()
getHttpVersion():
number
Defined in: src/core/easy.ts:246
Get HTTP version used
Returns
number
getInfo()
getInfo(
info):string|number|bigint|string[] |null
Defined in: src/core/easy.ts:134
Get info from a completed transfer Automatically selects the correct getinfo variant based on info type
Parameters
info
number
Returns
string | number | bigint | string[] | null
getLocalIp()
getLocalIp():
string|null
Defined in: src/core/easy.ts:218
Get local IP address
Returns
string | null
getLocalPort()
getLocalPort():
number
Defined in: src/core/easy.ts:225
Get local port
Returns
number
getPrimaryIp()
getPrimaryIp():
string|null
Defined in: src/core/easy.ts:204
Get primary IP address
Returns
string | null
getPrimaryPort()
getPrimaryPort():
number
Defined in: src/core/easy.ts:211
Get primary port
Returns
number
getRedirectCount()
getRedirectCount():
number
Defined in: src/core/easy.ts:232
Get redirect count
Returns
number
getRedirectUrl()
getRedirectUrl():
string|null
Defined in: src/core/easy.ts:239
Get redirect URL (if any)
Returns
string | null
getResponseCode()
getResponseCode():
number
Defined in: src/core/easy.ts:176
Get response status code
Returns
number
getTotalTime()
getTotalTime():
number
Defined in: src/core/easy.ts:197
Get total transfer time in seconds
Returns
number
impersonate()
impersonate(
target,defaultHeaders?):void
Defined in: src/core/easy.ts:287
Enable browser impersonation (requires curl-impersonate)
Parameters
target
string
Browser target (e.g., "chrome124", "firefox120", "safari17_0")
defaultHeaders?
boolean = true
Whether to add default browser headers (default: true)
Returns
void
perform()
perform():
void
Defined in: src/core/easy.ts:313
Perform the request synchronously
Returns
void
reset()
reset():
void
Defined in: src/core/easy.ts:324
Reset the handle to initial state for reuse Clears all options but keeps connections alive
Returns
void
setAkamai()
setAkamai(
akamai):void
Defined in: src/core/easy.ts:378
Apply Akamai HTTP/2 fingerprint
Akamai format: settings|window_update|streams|header_order Example: 1:65536;3:1000;4:6291456;6:262144|15663105|0|m,a,s,p
Requires curl-impersonate.
Parameters
akamai
string
Akamai fingerprint string
Returns
void
setExtraFingerprint()
setExtraFingerprint(
options):void
Defined in: src/core/easy.ts:391
Apply extra fingerprint options for fine-grained TLS/HTTP2 control
Requires curl-impersonate.
Parameters
options
Extra fingerprint configuration
Returns
void
setHeaderFunction()
setHeaderFunction(
fn):void
Defined in: src/core/easy.ts:262
Set header callback function
Parameters
fn
WriteCallback
Returns
void
setHeaders()
setHeaders(
headers):void
Defined in: src/core/easy.ts:271
Set HTTP headers from array of "Header: Value" strings
Parameters
headers
string[]
Returns
void
setJa3()
setJa3(
ja3,permute?):void
Defined in: src/core/easy.ts:362
Apply JA3 TLS fingerprint
JA3 format: tls_version,ciphers,extensions,curves,curve_formats Example: 771,4865-4866-4867-49195-49199,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513,29-23-24,0
Requires curl-impersonate for full extension control.
Parameters
ja3
string
JA3 fingerprint string
permute?
boolean = false
If true, don't enforce extension order (allows random permutation)
Returns
void
setOpt()
setOpt(
option,value):void
Defined in: src/core/easy.ts:100
Set a curl option Automatically selects the correct setopt variant based on value type
Parameters
option
number
value
unknown
Returns
void
setWriteFunction()
setWriteFunction(
fn):void
Defined in: src/core/easy.ts:253
Set write callback function
Parameters
fn
WriteCallback
Returns
void
hasImpersonateSupport()
statichasImpersonateSupport():boolean
Defined in: src/core/easy.ts:306
Check if impersonation is available
Returns
boolean
version()
staticversion():string
Defined in: src/core/easy.ts:412
Get libcurl version string
Returns
string
versionInfo()
staticversionInfo():unknown
Defined in: src/core/easy.ts:419
Get detailed version information
Returns
unknown