Цитата из фрагмента из примера:
if(curl) {
/*
* You better replace the URL with one that works! Note that we use an
* FTP:// URL with standard explicit FTPS. You can also do FTPS:// URLs if
* you want to do the rarer kind of transfers: implicit.
*/
curl_easy_setopt(curl, CURLOPT_URL,
"ftp://user@server/home/user/file.txt");
В нем четко указано, что поддерживаемые протоколы - это FTP и FTPS. В своем комментарии вы указываете, что сервер, к которому вы пытаетесь получить доступ,
Имя сервера, которое я использую, не http, а sftp: //xxx.xxx.com
Как видите, на сервере используется протокол SFTP, но curl поддерживает FTPS. Это два очень разных протокола.
Вы можете найти довольно много информативных статей, объясняющих различия.
Одно различие, например, в том, что FTP и FTPS используют два соединения для связи с сервером. Одно - "командное" соединение, другое - "данные". SFTP был разработан как расширение S SH и использует одно соединение с сервером.
Вы можете посмотреть здесь , чтобы найти потенциальное решение для Windows.