Hello Let me introduce you the libcurl for Standard ML and http client with asynchronous support (via sml-ev)
https://github.com/kni/sml-curl
I hope someone will find it helpful. Nick.
P.S. Output of asynchronous example:
./t-ev-poly
libcurl/7.46.0 OpenSSL/1.0.1p zlib/1.2.8 Request: https://www.google.com/ Request: http://sml-family.org/ Request: http://www.polyml.org/ Request: http://www.mlton.org/ Request: http://melsman.github.io/mlkit Answer: 200 (OK) http://www.polyml.org/ Request: http://www.smlserver.org Answer: 200 (OK) http://www.mlton.org/ Request: http://www.mpi-sws.org/~rossberg/hamlet/ Answer: 200 (OK) http://sml-family.org/ Request: http://www.smlnj.org/ Answer: 200 (OK) http://www.elsman.com/mlkit/ Request: http://www.pllab.riec.tohoku.ac.jp/smlsharp/ Answer: 200 (OK) https://www.google.com.ua/?gfe_rd=cr&ei= jCDuV47qFqfA7gSTsbhg Request: http://manticore.cs.uchicago.edu/ Answer: 200 (OK) http://www.mpi-sws.org/~rossberg/hamlet/ Answer: 200 (OK) http://www.smlserver.org/ Answer: 200 (OK) http://www.smlnj.org/ Answer: 200 (OK) http://manticore.cs.uchicago.edu/ Answer: 200 () http://www.pllab.riec.tohoku.ac.jp/smlsharp/