Subject: CURLHandle 1.7 released

For anybody that needs to do URL access and is finding limitations with
NSURLHandle, you might want to check out CURLHandle, available at:


This is a public domain Cocoa class that subclasses NSURLHandle and wraps
around “curl”. It can be used for HTTP PUT, GET, and POST, and also ftp
and really anything else the curl handles. It also knows about HTTP
proxies, something lacking in NSURLHandle.

CURLHandle is the technology under the hood in a number of Internet-Savvy
Applications, including:

* Watson (
* NetNewsWire Lite (
* Aizai (
* Spring (
* Comictastic (
* Pod2Go (
* PodNews 3 (
* Suck it Down (

This 1.7 release wraps around the latest version of curl (7.10.2) and adds
additional Jaguar-specific support such as SSL (https:) capability.

** If you’d like to keep up on all CURLHandle developments, please
subscribe to the CURLHandle “Yahoo” Group. See the CURLHandle web site
( for a sign-up form.


Full Release notes for this version:

* Wraps around curl 7.10.2.
* Add setStringOrNumberObject:forKey: so that you can specify an
integer NSNumber as well as an NSString. Retained setString:forKey:
for backward compatibility.
* Adjust project for building under Mac OS X 10.2. (Project needs to
link to a few more libraries). However, you will need to build curl
under 10.1 if you wish your application to run under 10.1; see
* Added “curl_easy_setopt([self curl], CURLOPT_UPLOAD, 1L);” to
setPutFile: to make FTP PUT easier (thanks to Mike Schrag). Now you’d
do something like this:
CURLHandle *urlHandle = (CURLHandle *)[url URLHandleUsingCache:NO];
[urlHandle setPutFile:@”/localFileName.yyy”];
[urlHandle prepareAndPerformCurl];
* Added setLowSpeedTime, setLowSpeedLimit methods to deal with timeout
issues (thanks to Steven W. Schuldt).
* Got SSL working, as long as you are building curl and CURLHandle
under 10.2. Well, it was working all along, but now you can go to an
https: URL in CURLHandleTester. Please see the notes at
( — by default, curl will
complain if it couldn’t verify the remote certificate from the default
CA cert bundle that gets installed with curl. You may need to provide
your own CA cert bundle using the CURLOPT_CAPATH. (Presently, there is
no convenience method for this defined in CURLHandle.)

Dan Wood
Karelia Software, LLC
Watson for Mac OS X: