winhttp
CFFI bindings to WinHTTP. Provides a native HTTP client for Common Lisp under Windows.

Repository: https://github.com/fjames86/winhttp

License: MIT

Quick assessment (2023-07-29)

> (winhttp:http-request "https://cliki.net/") "<!DOCTYPE html> [...]" 200 (("Connection" "Keep-Alive") ("Date" "Sat, 29 Jul 2023 20:57:48 GMT") ("Keep-Alive" "timeout=5, max=100") ("Content-Length" "10572") ("Content-Type" "text/html; charset=utf-8") ("Server" "Hunchentoot 1.2.27") ("Vary" "Accept-Encoding") ("Content-Security-Policy" "default-src 'none'; style-src 'self' 'unsafe-inline'; img-src *; form-action 'self';")) 10572

Cracking a URL gives you a property list like this:

> (winhttp:crack-url "https://cliki.net/site/view-revision?article=winhttp&date=3800153083") (:SCHEME :HTTPS :URL "/site/view-revision" :HOSTNAME "cliki.net" :USERNAME NIL :PASSWORD NIL :EXTRA "?article=winhttp&date=3800153083" :PORT 443)

The problem is that winhttp:http-request drops the "extra" component.


FFI