/usr/lib/swipl/library/socket.pl
AllApplicationManualNameSummaryHelp

  • swipl
    • library
      • settings.pl -- Setting management
      • error.pl -- Error generating support
      • broadcast.pl -- Event service
      • debug.pl -- Print debug messages and test assertions
      • lists.pl -- List Manipulation
      • pairs.pl -- Operations on key-value lists
      • option.pl -- Option list processing
      • arithmetic.pl -- Extensible arithmetic
      • pldoc.pl -- Process source documentation
      • apply.pl -- Apply predicates on a list
      • operators.pl -- Manage operators
      • prolog_source.pl -- Examine Prolog source-files
      • pengines.pl -- Pengines: Web Logic Programming Made Easy
      • time.pl -- Time and alarm library
      • shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
      • zip.pl -- Access resource ZIP archives
      • uri.pl -- Process URIs
      • socket.pl -- Network socket (TCP and UDP) library
        • tcp_socket/1
        • tcp_close_socket/1
        • tcp_open_socket/2
        • tcp_open_socket/3
        • tcp_bind/2
        • tcp_listen/2
        • tcp_accept/3
        • tcp_connect/2
        • tcp_connect/4
        • tcp_connect/3
        • tcp_select/3
        • try_proxy/4
        • proxy_for_url/3
        • tcp_setopt/2
        • tcp_fcntl/3
        • tcp_getopt/2
        • tcp_host_to_address/2
        • gethostname/1
        • negotiate_socks_connection/2
      • thread_pool.pl -- Resource bounded thread management
      • rbtrees.pl -- Red black trees
      • gensym.pl -- Generate unique symbols
      • readutil.pl -- Read utilities
      • url.pl -- Analysing and constructing URL
      • utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
      • memfile.pl
      • sgml.pl -- SGML, XML and HTML parser
      • iostream.pl -- Utilities to deal with streams
      • dialect.pl -- Support multiple Prolog dialects
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • pure_input.pl -- Pure Input from files and streams
      • base64.pl -- Base64 encoding and decoding
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • ordsets.pl -- Ordered set manipulation
      • oset.pl -- Ordered set manipulation
      • record.pl -- Access compound arguments by name
      • filesex.pl -- Extended operations on files
      • charsio.pl -- I/O on Lists of Character Codes
      • sandbox.pl -- Sandboxed Prolog code
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • when.pl -- Conditional coroutining
      • modules.pl -- Module utility predicates
      • term_to_json.pl
      • uuid.pl -- Universally Unique Identifier (UUID) Library
      • ssl.pl -- Secure Socket Layer (SSL) library
      • crypto.pl -- Cryptography and authentication library
      • solution_sequences.pl -- Modify solution sequences
      • nb_set.pl -- Non-backtrackable sets
      • terms.pl -- Term manipulation
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • sha.pl -- SHA secure hashes
      • random.pl -- Random numbers
      • pcre.pl -- Perl compatible regular expression matching for SWI-Prolog
      • pengines_io.pl -- Provide Prolog I/O for HTML clients
      • listing.pl -- List programs and pretty print clauses
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • prolog_clause.pl -- Get detailed source-information about a clause
      • occurs.pl -- Finding and counting sub-terms
      • yall.pl -- Lambda expressions
      • prolog_stream.pl -- A stream with Prolog callbacks
      • process.pl -- Create processes and redirect I/O
      • zlib.pl -- Zlib wrapper for SWI-Prolog
      • bdb.pl -- Berkeley DB interface
      • hash_stream.pl -- Maintain a hash on a stream
      • md5.pl -- MD5 hashes
      • porter_stem.pl
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • pprint.pl -- Pretty Print Prolog terms
      • atom.pl -- Operations on atoms
      • ctypes.pl -- Character code classification
      • prolog_xref.pl -- Prolog cross-referencer data collection
      • prolog_colour.pl -- Prolog syntax colouring support.
      • predicate_options.pl -- Access and analyse predicate options
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • xpath.pl -- Select nodes in an XML DOM
      • doc_http.pl -- Documentation server
      • www_browser.pl -- Open a URL in the users browser
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl -- Run GIT commands
      • crypt.pl
      • persistency.pl -- Provide persistent dynamic predicates
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • unix.pl -- Unix specific operations
      • mallocinfo.pl -- Memory allocation details
      • chr.pl
      • dicts.pl -- Dict utilities
      • dif.pl -- The dif/2 constraint
      • varnumbers.pl -- Utilities for numbered terms
      • shell.pl -- Elementary shell commands
      • uid.pl -- User and group management on Unix systems
      • syslog.pl -- Unix syslog interface
      • main.pl -- Provide entry point for scripts
      • base32.pl -- Base32 encoding and decoding
      • backcomp.pl -- Backward compatibility
      • system.pl -- System utilities
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl -- Co-Logic Programming
      • date.pl -- Process dates and times
      • heaps.pl -- heaps/priority queues
      • sort.pl
      • statistics.pl -- Get information about resource usage
      • double_metaphone.pl -- Phonetic string matching
      • paxos.pl -- A Replicated Data Store
      • rdf_triple.pl -- Create triples from intermediate representation
      • rdf_parser.pl
      • rewrite.pl
      • quintus.pl -- Quintus compatibility
      • rdf.pl
      • qsave.pl -- Save current program as a state or executable
      • editline.pl -- BSD libedit based command line editing
      • console_input.pl
      • prolog_config.pl -- Provide configuration information
      • readline.pl -- GNU readline interface
      • prolog_history.pl -- Per-directory persistent commandline history
      • streampool.pl -- Input multiplexing
      • prolog_codewalk.pl -- Prolog code walker
      • check.pl -- Consistency checking
      • prolog_autoload.pl -- Autoload all dependencies
      • prolog_metainference.pl -- Infer meta-predicate properties
      • isub.pl -- isub: a string similarity measure
      • cgi.pl -- Read CGI parameters
      • edit.pl -- Editor interface
      • make.pl -- Reload modified source files
      • rdf_write.pl -- Write RDF/XML from a list of triples
      • sgml_write.pl -- XML/SGML writer module
      • xsdp_types.pl -- XML-Schema primitive types
      • thread.pl -- High level thread primitives
      • udp_broadcast.pl -- A UDP broadcast proxy
      • pwp.pl -- Prolog Well-formed Pages
      • plunit.pl -- Unit Testing
      • prolog_stack.pl -- Examine the Prolog stack
      • unicode.pl -- Unicode string handling
      • archive.pl -- Access several archive formats
      • c14n2.pl -- C14n2 canonical XML documents
      • threadutil.pl -- Interactive thread utilities
      • xmlenc.pl -- XML encryption library
      • odbc.pl
      • help.pl -- Text based manual
      • doc_latex.pl -- PlDoc LaTeX backend
      • files.pl
      • xmldsig.pl -- XML Digital signature
      • table.pl
      • snowball.pl -- The Snowball multi-lingual stemmer library
      • writef.pl -- Old-style formatted write
      • protobufs.pl -- Google's Protocol Buffers
      • optparse.pl -- command line parsing
      • doc_files.pl -- Create stand-alone documentation files
 proxy_for_url(+URL, +Hostname, -Proxy) is nondet[multifile, library(socket)]
This hook can be implemented to return a proxy to try when connecting to URL. Returned proxies are tried in the order in which they are returned by the multifile hook try_proxy/4. Pre-defined proxy methods are:
direct
connect directly to the resource
proxy(Host, Port)
Connect to the resource using an HTTP proxy. If the resource is not an HTTP URL, then try to connect using the CONNECT verb, otherwise, use the GET verb.
socks(Host, Port)
Connect to the resource via a SOCKS5 proxy

These correspond to the proxy methods defined by PAC Proxy auto-config. Additional methods can be returned if suitable clauses for http:http_connection_over_proxy/6 or try_proxy/4 are defined.