- Documentation
- Reference manual
- Packages
- SWI-Prolog HTTP support
- The HTTP server libraries
- library(http/http_header): Handling HTTP headers
- http_read_request/2
- http_read_reply_header/2
- http_reply/2
- http_reply/3
- http_reply/4
- http_reply/5
- http_reply/6
- http_status_reply/4
- http_status_reply/5
- http_status_reply/6
- serialize_reply/2
- http_join_headers/3
- http_update_encoding/3
- mime_type_encoding/2
- http_update_connection/4
- http_update_transfer/4
- http_post_data/3
- http_reply_header/3
- http_parse_header_value/3
- http_timestamp/2
- http_read_header/2
- http_parse_header/2
- ///1
- status_page/3
- library(http/http_header): Handling HTTP headers
- The HTTP server libraries
- SWI-Prolog HTTP support
Availability:
:- use_module(library(http/http_header)).
[det]http_post_data(+Data,
+Out:stream, +HdrExtra)http_client.pl
to send the POST data to the server. Data is one of:
html(+Tokens)Result of html//1 fromhtml_write.pljson(+Term)Posting a JSON query and processing the JSON reply (or any other reply understood by http_read_data/3) is simple ashttp_post(URL, json(Term), Reply, []), where Term is a JSON term as described injson.pland 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, seelibrary(http/http_json).xml(+Term)Post the result of xml_write/3 using the Mime-typetext/xmlxml(+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 tofile(+Type, +File), but using a memory file instead of a real file. See new_memory_file/1.codes(+Codes)Ascodes(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)Asatom(text/plain, Atom).atom(+Type, +Atom)Send Atom using the indicated MIME-type.string(+String)string(+Type, +String)Similar toatom(Atom)andatom(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 typemultipart/form-dataas produced by browsers issuing a POST request from an HTML form using enctypemultipart/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, []), ...,- List If the argument is a plain list, it is sent using the MIME type multipart/mixed and packed using mime_pack/3. See mime_pack/3 for details on the argument format.