All Projects → interkosmos → fortran-curl

interkosmos / fortran-curl

Licence: ISC license
Fortran 2008 interface bindings to libcurl

Programming Languages

fortran
972 projects
Makefile
30231 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to fortran-curl

Curl
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. libcurl offers a myriad of powerful features
Stars: ✭ 22,875 (+91400%)
Mutual labels:  curl, libcurl, gopher
Lua Curlv3
Lua binding to libcurl
Stars: ✭ 197 (+688%)
Mutual labels:  curl, libcurl
libopenTIDAL
TIDAL API interface written in ANSI C
Stars: ✭ 17 (-32%)
Mutual labels:  curl, libcurl
imap-honey
IMAP or SMTP honeypot written in Golang
Stars: ✭ 22 (-12%)
Mutual labels:  imap, smtp
Gmod Chttp
A HTTP()-compatible wrapper for curl in Garry's Mod.
Stars: ✭ 39 (+56%)
Mutual labels:  curl, libcurl
Katipo
HTTP2 client for Erlang based on libcurl and libevent
Stars: ✭ 90 (+260%)
Mutual labels:  curl, libcurl
enough mail
IMAP, POP3 and SMTP clients for Dart developers. Contains both low level as well as a high level API.
Stars: ✭ 78 (+212%)
Mutual labels:  imap, smtp
Node Libcurl
libcurl bindings for Node.js
Stars: ✭ 447 (+1688%)
Mutual labels:  curl, libcurl
squirrelmail
🌰️🐿️ SquirrelMail GitHub Repository (PHP 7-OK!)
Stars: ✭ 42 (+68%)
Mutual labels:  imap, smtp
imail
small mail server
Stars: ✭ 88 (+252%)
Mutual labels:  imap, smtp
Matrix-EmailBridge
A bridge written in Golang to receive and write emails in matrix
Stars: ✭ 101 (+304%)
Mutual labels:  imap, smtp
Everything Curl
The book documenting the curl project, the curl tool, libcurl and everything related to this.
Stars: ✭ 885 (+3440%)
Mutual labels:  curl, libcurl
Curlcpp
An object oriented C++ wrapper for CURL (libcurl)
Stars: ✭ 462 (+1748%)
Mutual labels:  curl, libcurl
Curlsharp
CurlSharp - .Net binding and object-oriented wrapper for libcurl.
Stars: ✭ 153 (+512%)
Mutual labels:  curl, libcurl
fapro
Fake Protocol Server
Stars: ✭ 1,338 (+5252%)
Mutual labels:  imap, smtp
PySMS
Simple Python API that that allows you to send texts via SMTP with a best effort approach and process replies via IMAP
Stars: ✭ 19 (-24%)
Mutual labels:  imap, smtp
request-extra
⚡️ Extremely stable HTTP request module built on top of libcurl with retries, timeouts and callback API
Stars: ✭ 14 (-44%)
Mutual labels:  curl, libcurl
Curl For Win
Reproducible curl (and OpenSSL) binaries for Windows
Stars: ✭ 352 (+1308%)
Mutual labels:  curl, libcurl
Mailozaurr
Mailozaurr is a PowerShell module that aims to provide SMTP, POP3, IMAP and probably some other ways to interact with Email. Underneath it uses MimeKit and MailKit libraries written by Jeffrey Stedfast.
Stars: ✭ 107 (+328%)
Mutual labels:  imap, smtp
mnm-hammer
mnm implements TMTP protocol. Let Internet sites message members directly, instead of unreliable, insecure email. Contributors welcome! (Client)
Stars: ✭ 66 (+164%)
Mutual labels:  imap, smtp

fortran-curl

A collection of ISO C binding interfaces to libcurl for Fortran 2008. Compilation has been tested with GNU Fortran 11 and cURL 7.83.0.

Dependencies

Install cURL with development headers. On FreeBSD, run:

# pkg install ftp/curl

Compilation

Clone the repository and then run make to build the interfaces:

$ git clone https://github.com/interkosmos/fortran-curl
$ cd fortran-curl/
$ make

You can override the default compiler by passing the FC argument, for example:

$ make FC=ifort

On Linux, you may want to change the prefix to /usr:

$ make PREFIX=/usr

Link your Fortran application with libfortran-curl.a -lcurl.

Examples

Examples are provided in directory examples/:

  • dict queries a DICT server on TCP port 2628.
  • download fetches a remote file.
  • getinfo prints request-related information to console.
  • gopher prints the contents of a remote Gopher map file.
  • http makes an HTTP GET request.
  • imap examines the INBOX of an IMAP mailbox (SSL).
  • post makes an HTTP POST request.
  • smtp sends an e-mail via SMTP (SSL).
  • version outputs cURL version information.

Build an example with:

$ make <name>

Coverage

C Function Name Fortran Interface Name Bound
curl_easy_cleanup curl_easy_cleanup
curl_easy_getinfo curl_easy_getinfo, curl_easy_getinfo_
curl_easy_init curl_easy_init
curl_easy_perform curl_easy_perform
curl_easy_setopt curl_easy_setopt, curl_easy_setopt_funptr, curl_easy_setopt_ptr
curl_easy_strerror curl_easy_strerror
curl_slist_append curl_slist_append
curl_slist_free_all curl_slist_free_all
curl_version_info curl_version_info
C Constant Name Fortran Interface Name Bound
CURLVERSION_NOW curl_version_now

Support for fpm

This projects supports the Fortran Package Manager (fpm). To build the project with fpm, run:

$ fpm build --profile=release

The example applications are available with the fpm run --example command.

You can use fortran-curl in your fpm projects with:

[dependencies]
fortran-curl = { git = "https://github.com/interkosmos/fortran-curl.git" }

Licence

ISC

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].