【HTTP/FTP客户端库】

【HTTP/FTP客户端库】
资料来源:http://curl.haxx.se/libcurl/competitors.html

Free Software and Open Source projects have a long tradition of forks and duplicate efforts. We enjoy "doing it ourselves", no matter if someone else has done something very similar already.

Free/open libraries that cover parts of libcurl‘s features:

libcurl (MIT)

    a highly portable and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TELNET, DICT, FILE, TFTP and LDAP. libcurl also supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunnelling and more!

libghttp (LGPL)

    Having a glance at libghttp (a gnome http library), it looks as if it works rather similar to libcurl (for http). There‘s no web page for this and the person who‘s email is mentioned in the README of the latest release I found claims he has passed the leadership of the project to "eazel". Popular choice among GNOME projects.

libwww (W3C licensecomparison with libcurl

    More complex, and and harder to use than libcurl is. Includes everything from multi-threading to HTML parsing. The most notable transfer-related feature that libcurl does not offer but libwww does, is caching.

libferit (GPL)

      C++ library "for transferring files via http, ftp, gopher, proxy server". Based on ‘snarf‘ 2.0.9-code (formerly known as libsnarf). Quote from freshmeat:

"As the author of snarf, I have to say this frightens me. Snarf‘s networking system is far from robust and complete. It‘s probably full of bugs, and although it works for maybe 85% of all current situations, I wouldn‘t base a library on it."

neon (LGPL)

    An HTTP and WebDAV client library, with a C interface. I‘ve mainly heard and seen people use this with WebDAV as their main interest.

libsoup (LGPL) comparison with libcurl

    Part of glib (GNOME). Supports: HTTP 1.1, Persistent connections, Asynchronous DNS and transfers, Connection cache, Redirects, Basic, Digest, NTLM authentication, SSL with OpenSSL or Mozilla NSS, Proxy support including SSL, SOCKS support, POST data. Probably not very portable. Lacks: cookie support, NTLM for proxies, GSS, gzip encoding, trailers in chunked responses and more.

mozilla netlib (MPL)

    Handles URLs, protocols, transports for the Mozilla browser.

mozilla libxpnet (MPL)

    Minimal download library targeted to be much smaller than the above mentioned netlib. HTTP and FTP support.

wget (GPL)

    While not a library at all, I‘ve been told that people sometimes extract the network code from it and base their own hacks from there.

libfetch (BSD)

      Does HTTP and FTP transfers (both ways), supports file: URLs, and an API for URL parsing. The utility

fetch

      that is built on libfetch is an integral part of the

FreeBSD

    operating system.

HTTP Fetcher (LGPL)

      "

a small, robust, flexible library for downloading files via HTTP using the GET method.

    "

http-tiny (Artistic License)

      "

a very small C library to make http queries (GET, HEAD, PUT, DELETE, etc.) easily portable and embeddable

    "

XMLHTTP Object also known as IXMLHTTPRequest (part of MSXML 3.0)

    (Windows) Provides client-side protocol support for communication with HTTP servers. A client computer can use the XMLHTTP object to send an arbitrary HTTP request, receive the response, and have the Microsoft? XML Document Object Model (DOM) parse that response.

QHttp (GPL)

    QHttp is a class in the Qt library from Troll Tech. Seems to be restricted to plain HTTP. Supports GET, POST and proxy. Asynchronous.

ftplib (GPL)

      "

a set of routines that implement the FTP protocol. They allow applications to create and access remote files through function calls instead of needing to fork and exec an interactive ftp client program."

ftplibpp (GPL)

    A C++ library for "easy FTP client functionality. It features resuming of up- and downloads, FXP support, SSL/TLS encryption, and logging functionality."

GNU Common C++ library

    Has a URLStream class. This C++ class allow you to download a file using HTTP. See demo/urlfetch.cpp in commoncpp2-1.3.19.tar.gz

HTTPClient (LGPL)

    Java HTTP client library.

Jakarta Commons HttpClient (Apache License)

      A Java HTTP client library written by the Jakarta project.

原文地址:https://www.cnblogs.com/timdes1/p/8306546.html

时间: 2024-10-03 00:06:11

【HTTP/FTP客户端库】的相关文章

【转载】HTTP/FTP客户端开发库:libwww、libcurl、libfetch

网页抓取和ftp访问是目前很常见的一个应用需要,无论是搜索引擎的爬虫,分析程序,资源获取程序,WebService等等都是需 要的,自己开发抓取库当然是最好了,不过开发需要时间和周期,使用现有的Open source程序是个更好的选择,一来别人已经写的很好了,就近考验,二来自己使用起来非常快速,三来自己还能够学习一下别人程序的优点.闲来无事,在网上浏览,就发现了这些好东西,特别抄来分享分享.主要就是libwww.libcurl.libfetch 这三个库,当然,还有一些其他很多更优秀库,文章后面

Java FTP客户端开源类库 edtFTPj

edtFTPj/Free是免费的流行的Java FTP库,全球公司依靠edtFTPj /Free 为它们的Java应用程序添加FTP客户端功能. (收费的支持SFTP.FTPS的edtFTPj/PRO 类库) 一些优点: 健壮和经过验证的FTP Java. 支持断点续传.主动和被动模式.二进制.ASCII. 开源,源代码包括在内. 可用于商业用途(LGPL许可). 可选择购买non-LGPL 许可证的产品,提供永久支持. 特性: FTP 支持所有标准和许多可选的FTP操作,支持非常多的FTP服务

Socket网络编程--FTP客户端(2)(Windows)

上一篇FTP客户端讲到如果制作一个简单的FTP客户端,功能实现了,但是后面我们发现了问题,就是FTP是使用明文进行操作的.对于普通情况来说就无所谓了.但有时候要安全的一点的话,就应该使用FTP的安全版本.有SFTP和FTPs,两者都是FTP的安全版本,但是两者的实现原理差别还是很大的,具体自己搜索了解. 0.环境安装 环境使用我的这一篇文章安装好libssh2库. http://www.cnblogs.com/wunaozai/p/4528394.html 使用一个带有SFTP功能的FTP服务器

Android Apache common ftp开源库以及http区别分析

1.前言: ftp开源库:Apache common ftp开源库上传文件到局域网的ftp上吧.开源库是commons-net-2.2.jar.包名是这样的:org.apache.commons.net.ftp.FTPClient;用这个框架也能可以上传,下载以及删除ftp服务器的文件的.我也是参考网上大神例子迅速在项目中使用,现在趁机会总结一下,以及我自已在此基础上再次封装的ftp使用类. http开源库:之前开发的时候先是用到了http协议上传文件,删除文件等等,使用的开源库是AsyncHt

【Python】 http客户端库requests & urllib2 以及ip地址处理IPy

requests requests是个HTTPClient库,相比于urllib,urllib2等模块比更加简洁易用 ■ get请求 作为示例,讲一下关于requests如何发起并处理一个get请求 r = requests.get("http://www.baidu.com") #可以加入timeout参数来设置超时 r是一个Response对象,可以用r查看很多信息 如r.status_code 查看本次请求的http返回码 r.headers 头部信息(是个类字典对象) r.ur

【RL-TCPnet网络教程】第37章 RL-TCPnet之FTP客户端

第37章      RL-TCPnet之FTP客户端 本章节为大家讲解RL-TCPnet的FTP客户端应用,学习本章节前,务必要优先学习第35章的FTP基础知识.有了这些基础知识之后,再搞本章节会有事半功倍的效果. 本章教程含STM32F407开发板和STM32F429开发板. 37.1  初学者重要提示 37.2  FTP函数 37.3  FTP配置说明(Net_Config.c) 37.4  FTP调试说明(Net_Debug.c) 37.5  FTP访问方法和板子的操作步骤 37.6  实

C# 实现FTP客户端

本文是利用C# 实现FTP客户端的小例子,主要实现上传,下载,删除等功能,以供学习分享使用. 思路: 通过读取FTP站点的目录信息,列出对应的文件及文件夹. 双击目录,则显示子目录,如果是文件,则点击右键,进行下载和删除操作. 通过读取本地电脑的目录,以树状结构展示,选择本地文件,右键进行上传操作. 涉及知识点: FtpWebRequest[实现文件传输协议 (FTP) 客户端] / FtpWebResponse[封装文件传输协议 (FTP) 服务器对请求的响应]Ftp的操作主要集中在两个类中.

创建Windows Azure网站,使用FTP客户端在网站中添加页面

创建Windows Azure网站 创建web site非常简单,直接上图 FTP的用户名,千万不要搞错了是网站名称\用户名,这样的格式 你可以从截图中看到我添加test.asp作为新的默认页面. azure网站支持php5.3/5.4/5.5, 也支持java 创建Windows Azure网站,使用FTP客户端在网站中添加页面,布布扣,bubuko.com

利于Wininet创建一个FTP客户端的步骤

Wininet是Win32关于网络的API,MFC也有对于Wininet的封装,可以利用这组API实现FTP和HTTP通信. Wininet API的头文件:Wininet.下面是Wininet建立FTP客户端的一般步骤.第一步:初始话Wininet,实际上就是设置一些关于是否使用代理,访问方式等的参数.第二步:建立一个FTP链接.第三步:操作ftp服务器上的文件.第四步:关闭各种句柄. 作用 函数原型 说明 初始Wininet函数 HINTERNET InternetOpen( LPCTSTR