:- use_module(library(http/http_header)).
http_client.pl
to send the POST data to the server. Data is one of:
html(+Tokens)
Result of html//1
from html_write.pl
json(+Term)
Posting a JSON query and processing the
JSON reply (or any other reply understood by http_read_data/3)
is simple as
http_post(URL, json(Term), Reply, [])
, where Term is a JSON
term as described in json.pl
and reply is of the same
format if the server replies with JSON, when using module :- use_module(library(http/http_json))
.
Note that the module is used in both http server and http client, see
library(http/http_json)
.xml(+Term)
Post the result of xml_write/3
using the Mime-type
text/xml
xml(+Type, +Term)
Post the result of xml_write/3
using the given Mime-type and an empty option list to xml_write/3.xml(+Type, +Term, +Options)
Post the result of xml_write/3
using the given Mime-type and option list for xml_write/3.file(+File)
Send contents of a file. Mime-type is
determined by
file_mime_type/2.file(+Type, +File)
Send file with content of indicated
mime-type.memory_file(+Type, +Handle)
Similar to file(+Type, +File)
,
but using a memory file instead of a real file. See new_memory_file/1.codes(+Codes)
As codes(text/plain, Codes)
.codes(+Type, +Codes)
Send Codes using the indicated
MIME-type.bytes(+Type, +Bytes)
Send Bytes using the indicated
MIME-type. Bytes is either a string of character codes 0..255 or list of
integers in the range 0..255. Out-of-bound codes result in a
representation error exception.atom(+Atom)
As atom(text/plain, Atom)
.atom(+Type, +Atom)
Send Atom using the indicated
MIME-type.string(+String)
string(+Type, +String)
Similar to atom(Atom)
and atom(Type,Atom)
, accepting a SWI-Prolog string.cgi_stream(+Stream, +Len)
Read the input from Stream
which, like CGI data starts with a partial HTTP header. The fields of
this header are merged with the provided HdrExtra fields. The
first Len characters of Stream are used.form(+ListOfParameter)
Send data of the MIME type
application/x-www-form-urlencoded as produced by browsers issuing a POST
request from an HTML form. ListOfParameter is a list of Name=Value or
Name(Value).form_data(+ListOfData)
Send data of the MIME type multipart/form-data
as produced by browsers issuing a POST request from an HTML form using
enctype multipart/form-data
. ListOfData is the same as for
the List alternative described below. Below is an example. Repository,
etc. are atoms providing the value, while the last argument provides a
value from a file.
..., http_post([ protocol(http), host(Host), port(Port), path(ActionPath) ], form_data([ repository = Repository, dataFormat = DataFormat, baseURI = BaseURI, verifyData = Verify, data = file(File) ]), _Reply, []), ...,