NScurl
is a NSIS (Nullsoft Scriptable Install System) plugin with advanced HTTP/HTTPS capabilities.
It's included in the unofficial NSIS fork.
Implemented in C
on top of libcurl with OpenSSL as SSL backend.
HTTP/2
, TLS1.3
, etc.NSIS
install stage (in .onInit
callback function, in un/install sections, custom pages, silent installers, etc.)HTTP
and TLS
authenticationGET
, POST
, PUT
, HEAD
, etc.)DNS-over-HTTPS
secure name resolutionCheck out the Getting Started wiki page.
Check out the documentation page.
Check out the NSIS test script.
; Quick transfer
NScurl::http GET "https://download.sysinternals.com/files/SysinternalsSuite.zip" "$TEMP\SysinternalsSuite.zip" /INSIST /CANCEL /RESUME /END
Pop $0 ; transfer status ("OK" for success)
; Quick transfer with GET parameters and request headers
NScurl::http GET "https://httpbin.org/get?param1=value1¶m2=value2" "$TEMP\httpbin_get.json" /HEADER "Header1: Value1" /HEADER "Header2: Value2" /END
Pop $0
; POST json data
NScurl::http POST "https://httpbin.org/post" Memory /HEADER "Content-Type: application/json" /DATA '{"number_of_the_beast":666}' /END
Pop $0
; POST json data as MIME multi-part form
NScurl::http POST "https://httpbin.org/post" Memory /POST "User" "My user name" /POST "Password" "My password" /POST FILENAME=MyFile.json TYPE=application/json "Details" '{"number_of_the_beast":666}' /END
Pop $0
Project | License |
---|---|
NScurl itself | BSD3 |
brotli | MIT |
curl | MIT/X inspired |
nghttp2 | MIT |
OpenSSL | Apache v2 |
zlib | zlib |
zstd | BSD3 |