2.2 library(http/http_client): HTTP client library
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • SWI-Prolog HTTP support
        • The HTTP client libraries
          • library(http/http_client): HTTP client library
            • http_get/3
            • http_delete/3
            • http_post/4
            • http_put/4
            • http_patch/4
            • http_read_data/3
            • http_convert_data/4
            • http_disconnect/1
            • post_data_hook/3
Availability::- use_module(library(http/http_client)).
Source[det]http_read_data(+Request, -Data, +Options)
Read data from an HTTP connection and convert it according to the supplied to(Format) option or based on the Content-type in the Request. The following options are supported:
to(Format)
Convert data into Format. Values are:

  • stream(+WriteStream)) Append the content of the message to Stream
  • atom Return the reply as an atom
  • string Return the reply as a string
  • codes Return the reply as a list of codes
form_data(AsForm)
input_encoding(+Encoding)
on_filename(:CallBack)
These options are implemented by the plugin library(http/http_multipart_plugin) and apply to processing multipart/form-data content.
content_type(+Type)
Overrule the content-type that is part of Request as a work-around for wrongly configured servers.

Without plugins, this predicate handles

application/x-www-form-urlencoded
Converts form-data into a list of Name=Value terms.
application/x-prolog
Converts data into a Prolog term.
Request is a parsed HTTP request as returned by http_read_request/2 or available from the HTTP server's request dispatcher. Request must contain a term input(In) that provides the input stream from the HTTP server.