A Swift wrapper around libcurl that works with Linux
For Linux you need:
sudo apt-get install libcurl4-openssl-dev
At the moment, you need to build the static library yourself as curl_easy_setopt
is a variadic function and so is not imported by Swift.
The sotscurl.a static library provides these additional functions to get around this problem:
curl_easy_setopt_string
curl_easy_setopt_bool
Build it like this:
make
sudo make install
This component is set up to be used with the Swift Package Manager.
Add this line to your dependencies
section:
.Package(url: "https://github.com/SwiftOnTheServer/CCurl.git", majorVersion: 1)
If you do not have a Package.swift
, then this will work:
import PackageDescription
let package = Package(
dependencies: [
.Package(url: "https://github.com/SwiftOnTheServer/CCurl.git", majorVersion: 1)
]
)
In a new directory, create Package.swift
:
import PackageDescription
let package = Package(
dependencies: [
.Package(url: "https://github.com/SwiftOnTheServer/CCurl.git", versions: Version(0,0,1)..<Version(2,0,0))
]
)
Now create main.swift
:
import CCurl
let handle = curl_easy_init()
curl_easy_setopt_string(handle, CURLOPT_URL, "http://www.example.com")
curl_easy_setopt_bool(handle, CURLOPT_VERBOSE, true)
let ret = curl_easy_perform(handle)
let error = curl_easy_strerror(ret)
print("error = \(error)")
print("ret = \(ret)")
Build the app: swift build
Run the app: .build/debug/app