Skip to content

vvirit/curl4j

 
 

Repository files navigation

curl4j

libcurl bindings for Java 8+

Features  •  Installation  •  Examples

Features

  • Low-level bindings to libcurl.
    • Bundled libcurl for convenience.
    • Bundled CA info for convenience.
    • Bring your own libcurl binary. Use the system libcurl, or specify your own path.
    • Support for curl_easy and curl_multi.
  • High performance, extremely low overhead
  • Provides native memory management primitives for..
    • Wrapping/reading/writing native memory.
    • Java safe, native callback function pointers.
  • Support for Linux (x64/arm64)(gnu/musl), macOS (x64/arm64), and Windows (x64)
  • Supports curl-impersonate. *requires BYO libcurl See docs.

Usage

Please refer to the official libcurl documentation for specifics on how libcurl functions work.

Please see our Examples for usage.

TODO list (unsorted)

  • Musl arm64 linux.
  • Feature parity between Windows and macOS/Linux libcurl.
  • Maven central?
  • Finish curl_easy and curl_multi bindings.
  • Windows arm64
  • 32 bit support
  • At some point we need to leave J8 behind, experiment with Java FFM API.

About

libcurl bindings for Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 87.9%
  • C 5.8%
  • Makefile 5.7%
  • Other 0.6%