annotate man/url.texi @ 66996:cf7bf8dadf78

*** empty log message ***
author Chong Yidong <cyd@stupidchicken.com>
date Fri, 18 Nov 2005 19:42:08 +0000
parents 69b3598a61c5
children dc2d5a6655a3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1 \input texinfo
58849
29501efd5064 Update @setfilename.
Richard M. Stallman <rms@gnu.org>
parents: 58833
diff changeset
2 @setfilename ../info/url
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
3 @settitle URL Programmer's Manual
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
4
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
5 @iftex
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
6 @c @finalout
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
7 @end iftex
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
8 @c @setchapternewpage odd
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
9 @c @smallbook
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
10
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
11 @tex
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
12 \overfullrule=0pt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
13 %\global\baselineskip 30pt % for printing in double space
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
14 @end tex
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
15 @dircategory World Wide Web
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
16 @dircategory GNU Emacs Lisp
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
17 @direntry
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
18 * URL: (url). URL loading package.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
19 @end direntry
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
20
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
21 @ifnottex
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
22 This file documents the URL loading package.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
23
64890
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64465
diff changeset
24 Copyright (C) 1996, 1997, 1998, 1999, 2002, 2004,
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64465
diff changeset
25 2005 Free Software Foundation, Inc.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
26 Copyright (C) 1993, 1994, 1995, 1996 William M. Perry
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
27
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
28 Permission is granted to copy, distribute and/or modify this document
65555
69b3598a61c5 Update all manuals to specify GFDL version 1.2.
Romain Francoise <romain@orebokech.com>
parents: 64890
diff changeset
29 under the terms of the GNU Free Documentation License, Version 1.2 or
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
30 any later version published by the Free Software Foundation; with the
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
31 Invariant Sections being
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
32 ``GNU GENERAL PUBLIC LICENSE''. A copy of the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
33 license is included in the section entitled ``GNU Free Documentation
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
34 License.''
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
35 @end ifnottex
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
36
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
37 @c
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
38 @titlepage
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
39 @sp 6
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
40 @center @titlefont{URL}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
41 @center @titlefont{Programmer's Manual}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
42 @sp 4
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
43 @center First Edition, URL Version 2.0
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
44 @sp 1
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
45 @c @center December 1999
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
46 @sp 5
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
47 @center William M. Perry
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
48 @center @email{wmperry@@gnu.org}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
49 @center David Love
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
50 @center @email{fx@@gnu.org}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
51 @page
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
52 @vskip 0pt plus 1filll
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
53 Copyright @copyright{} 1993, 1994, 1995, 1996 William M. Perry@*
64890
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64465
diff changeset
54 Copyright @copyright{} 1996, 1997, 1998, 1999, 2002, 2003, 2004,
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64465
diff changeset
55 2005 Free Software Foundation, Inc.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
56
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
57 Permission is granted to copy, distribute and/or modify this document
65555
69b3598a61c5 Update all manuals to specify GFDL version 1.2.
Romain Francoise <romain@orebokech.com>
parents: 64890
diff changeset
58 under the terms of the GNU Free Documentation License, Version 1.2 or
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
59 any later version published by the Free Software Foundation; with the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
60 Invariant Sections being
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
61 ``GNU GENERAL PUBLIC LICENSE''. A copy of the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
62 license is included in the section entitled ``GNU Free Documentation
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
63 License.''
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
64 @end titlepage
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
65 @page
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
66 @node Top
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
67 @top URL
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
68
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
69
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
70
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
71 @menu
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
72 * Getting Started:: Preparing your program to use URLs.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
73 * Retrieving URLs:: How to use this package to retrieve a URL.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
74 * Supported URL Types:: Descriptions of URL types currently supported.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
75 * Defining New URLs:: How to define a URL loader for a new protocol.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
76 * General Facilities:: URLs can be cached, accessed via a gateway
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
77 and tracked in a history list.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
78 * Customization:: Variables you can alter.
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
79 * Function Index::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
80 * Variable Index::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
81 * Concept Index::
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
82 @end menu
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
83
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
84 @node Getting Started
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
85 @chapter Getting Started
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
86 @cindex URLs, definition
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
87 @cindex URIs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
88
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
89 @dfn{Uniform Resource Locators} (URLs) are a specific form of
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
90 @dfn{Uniform Resource Identifiers} (URI) described in RFC 2396 which
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
91 updates RFC 1738 and RFC 1808. RFC 2016 defines uniform resource
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
92 agents.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
93
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
94 URIs have the form @var{scheme}:@var{scheme-specific-part}, where the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
95 @var{scheme}s supported by this library are described below.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
96 @xref{Supported URL Types}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
97
62429
b0b56d84051f Fix typos.
Juanma Barranquero <lekktu@gmail.com>
parents: 60861
diff changeset
98 FTP, NFS, HTTP, HTTPS, @code{rlogin}, @code{telnet}, tn3270,
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
99 IRC and gopher URLs all have the form
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
100
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
101 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
102 @var{scheme}://@r{[}@var{userinfo}@@@r{]}@var{hostname}@r{[}:@var{port}@r{]}@r{[}/@var{path}@r{]}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
103 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
104 @noindent
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
105 where @samp{@r{[}} and @samp{@r{]}} delimit optional parts.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
106 @var{userinfo} sometimes takes the form @var{username}:@var{password}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
107 but you should beware of the security risks of sending cleartext
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
108 passwords. @var{hostname} may be a domain name or a dotted decimal
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
109 address. If the @samp{:@var{port}} is omitted then the library will
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
110 use the `well known' port for that service when accessing URLs. With
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
111 the possible exception of @code{telnet}, it is rare for ports to be
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
112 specified, and it is possible using a non-standard port may have
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
113 undesired consequences if a different service is listening on that
60497
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
114 port (e.g., an HTTP URL specifying the SMTP port can cause mail to be
62429
b0b56d84051f Fix typos.
Juanma Barranquero <lekktu@gmail.com>
parents: 60861
diff changeset
115 sent). @c , but @xref{Other Variables, url-bad-port-list}.
b0b56d84051f Fix typos.
Juanma Barranquero <lekktu@gmail.com>
parents: 60861
diff changeset
116 The meaning of the @var{path} component depends on the service.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
117
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
118 @menu
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
119 * Configuration::
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
120 * Parsed URLs:: URLs are parsed into vector structures.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
121 @end menu
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
122
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
123 @node Configuration
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
124 @section Configuration
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
125
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
126 @defvar url-configuration-directory
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
127 @cindex @file{~/.url}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
128 @cindex configuration files
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
129 The directory in which URL configuration files, the cache etc.,
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
130 reside. Default @file{~/.url}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
131 @end defvar
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
132
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
133 @node Parsed URLs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
134 @section Parsed URLs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
135 @cindex parsed URLs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
136 The library functions typically operate on @dfn{parsed} versions of
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
137 URLs. These are actually vectors of the form:
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
138
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
139 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
140 [@var{type} @var{user} @var{password} @var{host} @var{port} @var{file} @var{target} @var{attributes} @var{full}]
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
141 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
142
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
143 @noindent where
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
144 @table @var
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
145 @item type
60497
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
146 is the type of the URL scheme, e.g., @code{http}
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
147 @item user
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
148 is the username associated with it, or @code{nil};
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
149 @item password
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
150 is the user password associated with it, or @code{nil};
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
151 @item host
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
152 is the host name associated with it, or @code{nil};
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
153 @item port
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
154 is the port number associated with it, or @code{nil};
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
155 @item file
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
156 is the `file' part of it, or @code{nil}. This doesn't necessarily
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
157 actually refer to a file;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
158 @item target
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
159 is the target part, or @code{nil};
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
160 @item attributes
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
161 is the attributes associated with it, or @code{nil};
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
162 @item full
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
163 is @code{t} for a fully-specified URL, with a host part indicated by
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
164 @samp{//} after the scheme part.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
165 @end table
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
166
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
167 @findex url-type
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
168 @findex url-user
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
169 @findex url-password
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
170 @findex url-host
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
171 @findex url-port
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
172 @findex url-file
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
173 @findex url-target
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
174 @findex url-attributes
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
175 @findex url-full
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
176 @findex url-set-type
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
177 @findex url-set-user
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
178 @findex url-set-password
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
179 @findex url-set-host
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
180 @findex url-set-port
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
181 @findex url-set-file
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
182 @findex url-set-target
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
183 @findex url-set-attributes
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
184 @findex url-set-full
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
185 These attributes have accessors named @code{url-@var{part}}, where
60497
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
186 @var{part} is the name of one of the elements above, e.g.,
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
187 @code{url-host}. Similarly, there are setters of the form
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
188 @code{url-set-@var{part}}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
189
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
190 There are functions for parsing and unparsing between the string and
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
191 vector forms.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
192
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
193 @defun url-generic-parse-url url
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
194 Return a parsed version of the string @var{url}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
195 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
196
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
197 @defun url-recreate-url url
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
198 @cindex unparsing URLs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
199 Recreates a URL string from the parsed @var{url}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
200 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
201
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
202 @node Retrieving URLs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
203 @chapter Retrieving URLs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
204
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
205 @defun url-retrieve-synchronously url
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
206 Retrieve @var{url} synchronously and return a buffer containing the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
207 data. @var{url} is either a string or a parsed URL structure. Return
59004
07c855d85b86 (Retrieving URLs, Retrieving URLs): @var{nil}->@code{nil}.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59003
diff changeset
208 @code{nil} if there are no data associated with it (the case for dired,
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
209 info, or mailto URLs that need no further processing).
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
210 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
211
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
212 @defun url-retrieve url callback &optional cbargs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
213 Retrieve @var{url} asynchronously and call @var{callback} with args
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
214 @var{cbargs} when finished. The callback is called when the object
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
215 has been completely retrieved, with the current buffer containing the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
216 object and any MIME headers associated with it. @var{url} is either a
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
217 string or a parsed URL structure. Returns the buffer @var{url} will
59004
07c855d85b86 (Retrieving URLs, Retrieving URLs): @var{nil}->@code{nil}.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59003
diff changeset
218 load into, or @code{nil} if the process has already completed.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
219 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
220
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
221 @node Supported URL Types
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
222 @chapter Supported URL Types
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
223
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
224 @menu
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
225 * http/https:: Hypertext Transfer Protocol.
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
226 * file/ftp:: Local files and FTP archives.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
227 * info:: Emacs `Info' pages.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
228 * mailto:: Sending email.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
229 * news/nntp/snews:: Usenet news.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
230 * rlogin/telnet/tn3270:: Remote host connectivity.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
231 * irc:: Internet Relay Chat.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
232 * data:: Embedded data URLs.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
233 * nfs:: Networked File System
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
234 @c * finger::
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
235 @c * gopher::
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
236 @c * netrek::
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
237 @c * prospero::
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
238 * cid:: Content-ID.
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
239 * about::
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
240 * ldap:: Lightweight Directory Access Protocol
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
241 * imap:: IMAP mailboxes.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
242 * man:: Unix man pages.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
243 @end menu
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
244
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
245 @node http/https
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
246 @section @code{http} and @code{https}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
247
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
248 The scheme @code{http} is Hypertext Transfer Protocol. The library
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
249 supports version 1.1, specified in RFC 2616. (This supersedes 1.0,
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
250 defined in RFC 1945) HTTP URLs have the following form, where most of
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
251 the parts are optional:
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
252 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
253 http://@var{user}:@var{password}@var{host}:@var{port}/@var{path}?@var{searchpart}#@var{fragment}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
254 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
255 @c The @code{:@var{port}} part is optional, and @var{port} defaults to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
256 @c 80. The @code{/@var{path}} part, if present, is a slash-separated
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
257 @c series elements. The @code{?@var{searchpart}}, if present, is the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
258 @c query for a search or the content of a form submission. The
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
259 @c @code{#fragment} part, if present, is a location in the document.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
260
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
261 The scheme @code{https} is a secure version of @code{http}, with
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
262 transmission via SSL. It is defined in RFC 2069. Its default port is
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
263 443. This scheme depends on SSL support in Emacs via the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
264 @file{ssl.el} library and is actually implemented by forcing the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
265 @code{ssl} gateway method to be used. @xref{Gateways in general}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
266
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
267 @defopt url-honor-refresh-requests
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
268 This controls honouring of HTTP @samp{Refresh} headers by which
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
269 servers can direct clients to reload documents from the same URL or a
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
270 or different one. @code{nil} means they will not be honoured,
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
271 @code{t} (the default) means they will always be honoured, and
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
272 otherwise the user will be asked on each request.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
273 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
274
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
275
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
276 @menu
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
277 * Cookies::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
278 * HTTP language/coding::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
279 * HTTP URL Options::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
280 * Dealing with HTTP documents::
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
281 @end menu
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
282
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
283 @node Cookies
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
284 @subsection Cookies
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
285
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
286 @defopt url-cookie-file
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
287 The file in which cookies are stored, defaulting to @file{cookies} in
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
288 the directory specified by @code{url-configuration-directory}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
289 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
290
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
291 @defopt url-cookie-confirmation
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
292 Specifies whether confirmation is require to accept cookies.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
293 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
294
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
295 @defopt url-cookie-multiple-line
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
296 Specifies whether to put all cookies for the server on one line in the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
297 HTTP request to satisfy broken servers like
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
298 @url{http://www.hotmail.com}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
299 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
300
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
301 @defopt url-cookie-trusted-urls
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
302 A list of regular expressions matching URLs from which to accept
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
303 cookies always.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
304 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
305
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
306 @defopt url-cookie-untrusted-urls
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
307 A list of regular expressions matching URLs from which to reject
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
308 cookies always.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
309 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
310
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
311 @defopt url-cookie-save-interval
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
312 The number of seconds between automatic saves of cookies to disk.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
313 Default is one hour.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
314 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
315
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
316
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
317 @node HTTP language/coding
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
318 @subsection Language and Encoding Preferences
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
319
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
320 HTTP allows clients to express preferences for the language and
60497
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
321 encoding of documents which servers may honour. For each of these
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
322 variables, the value is a string; it can specify a single choice, or
60861
ed7e8235f78d (HTTP language/coding): Improve last change.
Richard M. Stallman <rms@gnu.org>
parents: 60497
diff changeset
323 it can be a comma-separated list.
ed7e8235f78d (HTTP language/coding): Improve last change.
Richard M. Stallman <rms@gnu.org>
parents: 60497
diff changeset
324
ed7e8235f78d (HTTP language/coding): Improve last change.
Richard M. Stallman <rms@gnu.org>
parents: 60497
diff changeset
325 Normally this list ordered by descending preference. However, each
ed7e8235f78d (HTTP language/coding): Improve last change.
Richard M. Stallman <rms@gnu.org>
parents: 60497
diff changeset
326 element can be followed by @samp{;q=@var{priority}} to specify its
ed7e8235f78d (HTTP language/coding): Improve last change.
Richard M. Stallman <rms@gnu.org>
parents: 60497
diff changeset
327 preference level, a decimal number from 0 to 1; e.g., for
ed7e8235f78d (HTTP language/coding): Improve last change.
Richard M. Stallman <rms@gnu.org>
parents: 60497
diff changeset
328 @code{url-mime-language-string}, @w{@code{"de, en-gb;q=0.8,
ed7e8235f78d (HTTP language/coding): Improve last change.
Richard M. Stallman <rms@gnu.org>
parents: 60497
diff changeset
329 en;q=0.7"}}. An element that has no @samp{;q} specification has
ed7e8235f78d (HTTP language/coding): Improve last change.
Richard M. Stallman <rms@gnu.org>
parents: 60497
diff changeset
330 preference level 1.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
331
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
332 @defopt url-mime-charset-string
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
333 @cindex character sets
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
334 @cindex coding systems
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
335 This variable specifies a preference for character sets when documents
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
336 can be served in more than one encoding.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
337
60497
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
338 HTTP allows specifying a series of MIME charsets which indicate your
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
339 preferred character set encodings, e.g., Latin-9 or Big5, and these
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
340 can be weighted. The default series is generated automatically from
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
341 the associated MIME types of all defined coding systems, sorted by the
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
342 coding system priority specified in Emacs. @xref{Recognize Coding, ,
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
343 Recognizing Coding Systems, emacs, The GNU Emacs Manual}.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
344 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
345
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
346 @defopt url-mime-language-string
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
347 @cindex language preferences
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
348 A string specifying the preferred language when servers can serve
60497
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
349 files in several languages. Use RFC 1766 abbreviations, e.g.,
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
350 @samp{en} for English, @samp{de} for German.
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
351
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
352 The string can be @code{"*"} to get the first available language (as
c40fb3b5ae9e Fix usage of "e.g.".
Richard M. Stallman <rms@gnu.org>
parents: 60438
diff changeset
353 opposed to the default).
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
354 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
355
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
356 @node HTTP URL Options
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
357 @subsection HTTP URL Options
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
358
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
359 HTTP supports an @samp{OPTIONS} method describing things supported by
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
360 the URL@.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
361
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
362 @defun url-http-options url
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
363 Returns a property list describing options available for URL. The
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
364 property list members are:
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
365
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
366 @table @code
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
367 @item methods
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
368 A list of symbols specifying what HTTP methods the resource
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
369 supports.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
370
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
371 @item dav
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
372 @cindex DAV
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
373 A list of numbers specifying what DAV protocol/schema versions are
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
374 supported.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
375
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
376 @item dasl
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
377 @cindex DASL
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
378 A list of supported DASL search types supported (string form).
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
379
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
380 @item ranges
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
381 A list of the units available for use in partial document fetches.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
382
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
383 @item p3p
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
384 @cindex P3P
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
385 The @dfn{Platform For Privacy Protection} description for the resource.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
386 Currently this is just the raw header contents.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
387 @end table
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
388
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
389 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
390
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
391 @node Dealing with HTTP documents
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
392 @subsection Dealing with HTTP documents
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
393
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
394 HTTP URLs are retrieved into a buffer containing the HTTP headers
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
395 followed by the body. Since the headers are quasi-MIME, they may be
59005
5c053e769038 (HTTP language/coding, mailto): Replace "GNU Emacs manual" with
Luc Teirlinck <teirllm@auburn.edu>
parents: 59004
diff changeset
396 processed using the MIME library. @xref{Top,, Emacs MIME,
5c053e769038 (HTTP language/coding, mailto): Replace "GNU Emacs manual" with
Luc Teirlinck <teirllm@auburn.edu>
parents: 59004
diff changeset
397 emacs-mime, The Emacs MIME Manual}. The URL package provides a
5c053e769038 (HTTP language/coding, mailto): Replace "GNU Emacs manual" with
Luc Teirlinck <teirllm@auburn.edu>
parents: 59004
diff changeset
398 function to do this in general:
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
399
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
400 @defun url-decode-text-part handle &optional coding
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
401 This function decodes charset-encoded text in the current buffer. In
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
402 Emacs, the buffer is expected to be unibyte initially and is set to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
403 multibyte after decoding.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
404 HANDLE is the MIME handle of the original part. CODING is an explicit
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
405 coding to use, overriding what the MIME headers specify.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
406 The coding system used for the decoding is returned.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
407
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
408 Note that this function doesn't deal with @samp{http-equiv} charset
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
409 specifications in HTML @samp{<meta>} elements.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
410 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
411
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
412 @node file/ftp
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
413 @section file and ftp
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
414 @cindex files
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
415 @cindex FTP
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
416 @cindex File Transfer Protocol
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
417 @cindex compressed files
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
418 @findex dired
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
419
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
420 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
421 ftp://@var{user}:@var{password}@@@var{host}:@var{port}/@var{file}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
422 file://@var{user}:@var{password}@@@var{host}:@var{port}/@var{file}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
423 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
424
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
425 These schemes are defined in RFC 1808.
59003
19324ec97f76 Correct typos.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59002
diff changeset
426 @samp{ftp:} and @samp{file:} are synonymous in this library. They
19324ec97f76 Correct typos.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59002
diff changeset
427 allow reading arbitrary files from hosts. Either @samp{ange-ftp}
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
428 (Emacs) or @samp{efs} (XEmacs) is used to retrieve them from remote
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
429 hosts. Local files are accessed directly.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
430
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
431 Compressed files are handled, but support is hard-coded so that
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
432 @code{jka-compr-compression-info-list} and so on have no affect.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
433 Suffixes recognized are @samp{.z}, @samp{.gz}, @samp{.Z} and
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
434 @samp{.bz2}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
435
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
436 @defopt url-directory-index-file
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
437 The filename to look for when indexing a directory, default
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
438 @samp{"index.html"}. If this file exists, and is readable, then it
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
439 will be viewed instead of using @code{dired} to view the directory.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
440 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
441
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
442 @node info
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
443 @section info
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
444 @cindex Info
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
445 @cindex Texinfo
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
446 @findex Info-goto-node
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
447
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
448 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
449 info:@var{file}#@var{node}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
450 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
451
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
452 Info URLs are not officially defined. They invoke
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
453 @code{Info-goto-node} with argument @samp{(@var{file})@var{node}}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
454 @samp{#@var{node}} is optional, defaulting to @samp{Top}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
455
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
456 @node mailto
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
457 @section mailto
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
458
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
459 @cindex mailto
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
460 @cindex email
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
461 A mailto URL will send an email message to the address in the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
462 URL, for example @samp{mailto:foo@@bar.com} would compose a
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
463 message to @samp{foo@@bar.com}.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
464
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
465 @defopt url-mail-command
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
466 @vindex mail-user-agent
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
467 The function called whenever url needs to send mail. This should
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
468 normally be left to default from @var{mail-user-agent}. @xref{Mail
59005
5c053e769038 (HTTP language/coding, mailto): Replace "GNU Emacs manual" with
Luc Teirlinck <teirllm@auburn.edu>
parents: 59004
diff changeset
469 Methods, , Mail-Composition Methods, emacs, The GNU Emacs Manual}.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
470 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
471
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
472 An @samp{X-Url-From} header field containing the URL of the document
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
473 that contained the mailto URL is added if that URL is known.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
474
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
475 RFC 2368 extends the definition of mailto URLs in RFC 1738.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
476 The form of a mailto URL is
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
477 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
478 @samp{mailto:@var{mailbox}[?@var{header}=@var{contents}[&@var{header}=@var{contents}]]}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
479 @end example
59003
19324ec97f76 Correct typos.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59002
diff changeset
480 @noindent where an arbitrary number of @var{header}s can be added. If the
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
481 @var{header} is @samp{body}, then @var{contents} is put in the body
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
482 otherwise a @var{header} header field is created with @var{contents}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
483 as its contents. Note that the URL library does not consider any
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
484 headers `dangerous' so you should check them before sending the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
485 message.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
486
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
487 @c Fixme: update
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
488 Email messages are defined in @sc{rfc}822.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
489
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
490 @node news/nntp/snews
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
491 @section @code{news}, @code{nntp} and @code{snews}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
492 @cindex news
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
493 @cindex network news
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
494 @cindex usenet
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
495 @cindex NNTP
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
496 @cindex snews
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
497
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
498 @c draft-gilman-news-url-01
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
499 The network news URL scheme take the following forms following RFC
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
500 1738 except that for compatibility with other clients, host and port
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
501 fields may be included in news URLs though they are properly only
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
502 allowed for nntp an snews.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
503
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
504 @table @samp
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
505 @item news:@var{newsgroup}
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
506 Retrieves a list of messages in @var{newsgroup};
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
507 @item news:@var{message-id}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
508 Retrieves the message with the given @var{message-id};
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
509 @item news:*
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
510 Retrieves a list of all available newsgroups;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
511 @item nntp://@var{host}:@var{port}/@var{newsgroup}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
512 @itemx nntp://@var{host}:@var{port}/@var{message-id}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
513 @itemx nntp://@var{host}:@var{port}/*
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
514 Similar to the @samp{news} versions.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
515 @end table
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
516
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
517 @samp{:@var{port}} is optional and defaults to :119.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
518
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
519 @samp{snews} is the same as @samp{nntp} except that the default port
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
520 is :563.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
521 @cindex SSL
59003
19324ec97f76 Correct typos.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59002
diff changeset
522 (It is tunneled through SSL.)
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
523
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
524 An @samp{nntp} URL is the same as a news URL, except that the URL may
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
525 specify an article by its number.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
526
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
527 @defopt url-news-server
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
528 This variable can be used to override the default news server.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
529 Usually this will be set by the Gnus package, which is used to fetch
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
530 news.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
531 @cindex environment variable
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
532 @vindex NNTPSERVER
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
533 It may be set from the conventional environment variable
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
534 @code{NNTPSERVER}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
535 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
536
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
537 @node rlogin/telnet/tn3270
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
538 @section rlogin, telnet and tn3270
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
539 @cindex rlogin
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
540 @cindex telnet
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
541 @cindex tn3270
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
542 @cindex terminal emulation
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
543 @findex terminal-emulator
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
544
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
545 These URL schemes from RFC 1738 for logon via a terminal emulator have
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
546 the form
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
547 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
548 telnet://@var{user}:@var{password}@@@var{host}:@var{port}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
549 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
550 but the @code{:@var{password}} component is ignored.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
551
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
552 To handle rlogin, telnet and tn3270 URLs, a @code{rlogin},
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
553 @code{telnet} or @code{tn3270} (the program names and arguments are
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
554 hardcoded) session is run in a @code{terminal-emulator} buffer.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
555 Well-known ports are used if the URL does not specify a port.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
556
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
557 @node irc
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
558 @section irc
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
559 @cindex IRC
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
560 @cindex Internet Relay Chat
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
561 @cindex ZEN IRC
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
562 @c Fixme: reference (was http://www.w3.org/Addressing/draft-mirashi-url-irc-01.txt)
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
563 @dfn{Internet Relay Chat} (IRC) is handled by handing off the @sc{irc}
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
564 session to a function named in @code{url-irc-function}.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
565
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
566 @defopt url-irc-function
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
567 A function to actually open an IRC connection.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
568 This function
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
569 must take five arguments, @var{host}, @var{port}, @var{channel},
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
570 @var{user} and @var{password}. The @var{channel} argument specifies the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
571 channel to join immediately, this can be @code{nil}. By default this is
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
572 @code{url-irc-zenirc}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
573 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
574 @defun url-irc-zenirc host port channel user password
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
575 Processes the arguments and lets @code{zenirc} handle the session.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
576 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
577
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
578 @node data
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
579 @section data
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
580 @cindex data URLs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
581
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
582 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
583 data:@r{[}@var{media-type}@r{]}@r{[};@var{base64}@r{]},@var{data}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
584 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
585
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
586 Data URLs contain MIME data in the URL itself. They are defined in
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
587 RFC 2397.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
588
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
589 @var{media-type} is a MIME @samp{Content-Type} string, possibly
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
590 including parameters. It defaults to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
591 @samp{text/plain;charset=US-ASCII}. The @samp{text/plain} can be
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
592 omitted but the charset parameter supplied. If @samp{;base64} is
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
593 present, the @var{data} are base64-encoded.
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
594
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
595 @node nfs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
596 @section nfs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
597 @cindex NFS
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
598 @cindex Network File System
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
599 @cindex automounter
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
600
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
601 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
602 nfs://@var{user}:@var{password}@@@var{host}:@var{port}/@var{file}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
603 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
604
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
605 The @samp{nfs:} scheme is defined in RFC 2224. It is similar to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
606 @samp{ftp:} except that it points to a file on a remote host that is
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
607 handled by the automounter on the local host.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
608
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
609 @defvar url-nfs-automounter-directory-spec
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
610 @end defvar
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
611 A string saying how to invoke the NFS automounter. Certain @samp{%}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
612 sequences are recognized:
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
613
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
614 @table @samp
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
615 @item %h
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
616 The hostname of the NFS server;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
617 @item %n
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
618 The port number of the NFS server;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
619 @item %u
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
620 The username to use to authenticate;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
621 @item %p
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
622 The password to use to authenticate;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
623 @item %f
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
624 The filename on the remote server;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
625 @item %%
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
626 A literal @samp{%}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
627 @end table
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
628
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
629 Each can be used any number of times.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
630
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
631 @node cid
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
632 @section cid
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
633 @cindex Content-ID
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
634
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
635 RFC 2111
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
636
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
637 @node about
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
638 @section about
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
639
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
640 @node ldap
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
641 @section ldap
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
642 @cindex LDAP
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
643 @cindex Lightweight Directory Access Protocol
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
644
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
645 The LDAP scheme is defined in RFC 2255.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
646
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
647 @node imap
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
648 @section imap
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
649 @cindex IMAP
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
650
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
651 RFC 2192
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
652
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
653 @node man
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
654 @section man
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
655 @cindex @command{man}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
656 @cindex Unix man pages
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
657 @findex man
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
658
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
659 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
660 @samp{man:@var{page-spec}}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
661 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
662
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
663 This is a non-standard scheme. @var{page-spec} is passed directly to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
664 the Lisp @code{man} function.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
665
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
666 @node Defining New URLs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
667 @chapter Defining New URLs
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
668
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
669 @menu
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
670 * Naming conventions::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
671 * Required functions::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
672 * Optional functions::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
673 * Asynchronous fetching::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
674 * Supporting file-name-handlers::
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
675 @end menu
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
676
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
677 @node Naming conventions
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
678 @section Naming conventions
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
679
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
680 @node Required functions
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
681 @section Required functions
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
682
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
683 @node Optional functions
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
684 @section Optional functions
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
685
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
686 @node Asynchronous fetching
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
687 @section Asynchronous fetching
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
688
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
689 @node Supporting file-name-handlers
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
690 @section Supporting file-name-handlers
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
691
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
692 @node General Facilities
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
693 @chapter General Facilities
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
694
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
695 @menu
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
696 * Disk Caching::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
697 * Proxies::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
698 * Gateways in general::
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
699 * History::
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
700 @end menu
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
701
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
702 @node Disk Caching
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
703 @section Disk Caching
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
704 @cindex Caching
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
705 @cindex Persistent Cache
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
706 @cindex Disk Cache
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
707
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
708 The disk cache stores retrieved documents locally, whence they can be
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
709 retrieved more quickly. When requesting a URL that is in the cache,
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
710 the library checks to see if the page has changed since it was last
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
711 retrieved from the remote machine. If not, the local copy is used,
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
712 saving the transmission over the network.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
713 @cindex Cleaning the cache
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
714 @cindex Clearing the cache
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
715 @cindex Cache cleaning
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
716 Currently the cache isn't cleared automatically.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
717 @c Running the @code{clean-cache} shell script
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
718 @c fist is recommended, to allow for future cleaning of the cache. This
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
719 @c shell script will remove all files that have not been accessed since it
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
720 @c was last run. To keep the cache pared down, it is recommended that this
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
721 @c script be run from @i{at} or @i{cron} (see the manual pages for
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
722 @c crontab(5) or at(1) for more information)
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
723
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
724 @defopt url-automatic-caching
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
725 Setting this variable non-@code{nil} causes documents to be cached
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
726 automatically.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
727 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
728
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
729 @defopt url-cache-directory
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
730 This variable specifies the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
731 directory to store the cache files. It defaults to sub-directory
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
732 @file{cache} of @code{url-configuration-directory}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
733 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
734
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
735 @c Fixme: function v. option, but neither used.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
736 @c @findex url-cache-expired
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
737 @c @defopt url-cache-expired
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
738 @c This is a function to decide whether or not a cache entry has expired.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
739 @c It takes two times as it parameters and returns non-@code{nil} if the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
740 @c second time is ``too old'' when compared with the first time.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
741 @c @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
742
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
743 @defopt url-cache-creation-function
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
744 The cache relies on a scheme for mapping URLs to files in the cache.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
745 This variable names a function which sets the type of cache to use.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
746 It takes a URL as argument and returns the absolute file name of the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
747 corresponding cache file. The two supplied possibilities are
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
748 @code{url-cache-create-filename-using-md5} and
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
749 @code{url-cache-create-filename-human-readable}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
750 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
751
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
752 @defun url-cache-create-filename-using-md5 url
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
753 Creates a cache file name from @var{url} using MD5 hashing.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
754 @findex md5
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
755 This is creates entries with very few cache collisions and is fast if
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
756 you have the @code{md5} function as a primitive (Emacs 21 and XEmacs).
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
757 @smallexample
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
758 (url-cache-create-filename-using-md5 "http://www.example.com/foo/bar")
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
759 @result{} "/home/fx/.url/cache/fx/http/com/example/www/b8a35774ad20db71c7c3409a5410e74f"
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
760 @end smallexample
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
761 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
762
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
763 @defun url-cache-create-filename-human-readable url
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
764 Creates a cache file name from @var{url} more obviously connected to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
765 @var{url} than for @code{url-cache-create-filename-using-md5}, but
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
766 more likely to conflict with other files.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
767 @smallexample
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
768 (url-cache-create-filename-human-readable "http://www.example.com/foo/bar")
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
769 @result{} "/home/fx/.url/cache/fx/http/com/example/www/foo/bar"
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
770 @end smallexample
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
771 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
772
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
773 @c Fixme: never actually used currently?
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
774 @c @defopt url-standalone-mode
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
775 @c @cindex Relying on cache
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
776 @c @cindex Cache only mode
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
777 @c @cindex Standalone mode
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
778 @c If this variable is non-@code{nil}, the library relies solely on the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
779 @c cache for fetching documents and avoids checking if they have changed
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
780 @c on remote servers.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
781 @c @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
782
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
783 @c With a large cache of documents on the local disk, it can be very handy
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
784 @c when traveling, or any other time the network connection is not active
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
785 @c (a laptop with a dial-on-demand PPP connection, etc). Emacs/W3 can rely
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
786 @c solely on its cache, and avoid checking to see if the page has changed
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
787 @c on the remote server. In the case of a dial-on-demand PPP connection,
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
788 @c this will keep the phone line free as long as possible, only bringing up
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
789 @c the PPP connection when asking for a page that is not located in the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
790 @c cache. This is very useful for demonstrations as well.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
791
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
792 @node Proxies
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
793 @section Proxies and Gatewaying
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
794
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
795 @c fixme: check/document url-ns stuff
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
796 @cindex proxy servers
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
797 @cindex proxies
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
798 @cindex environment variables
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
799 @vindex HTTP_PROXY
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
800 Proxy servers are commonly used to provide gateways through firewalls
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
801 or as caches serving some more-or-less local network. Each protocol
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
802 (HTTP, FTP, etc.)@: can have a different gateway server. Proxying is
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
803 conventionally configured commonly amongst different programs through
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
804 environment variables of the form @code{@var{protocol}_proxy}, where
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
805 @var{protocol} is one of the supported network protocols (@code{http},
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
806 @code{ftp} etc.). The library recognizes such variables in either
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
807 upper or lower case. Their values are of one of the forms:
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
808 @itemize @bullet
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
809 @item @code{@var{host}:@var{port}}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
810 @item A full URL;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
811 @item Simply a host name.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
812 @end itemize
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
813
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
814 @vindex NO_PROXY
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
815 The @code{NO_PROXY} environment variable specifies URLs that should be
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
816 excluded from proxying (on servers that should be contacted directly).
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
817 This should be a comma-separated list of hostnames, domain names, or a
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
818 mixture of both. Asterisks can be used as wildcards, but other
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
819 clients may not support that. Domain names may be indicated by a
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
820 leading dot. For example:
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
821 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
822 NO_PROXY="*.aventail.com,home.com,.seanet.com"
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
823 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
824 @noindent says to contact all machines in the @samp{aventail.com} and
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
825 @samp{seanet.com} domains directly, as well as the machine named
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
826 @samp{home.com}. If @code{NO_PROXY} isn't defined, @code{no_PROXY}
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
827 and @code{no_proxy} are also tried, in that order.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
828
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
829 Proxies may also be specified directly in Lisp.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
831 @defopt url-proxy-services
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
832 This variable is an alist of URL schemes and proxy servers that
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
833 gateway them. The items are of the form @w{@code{(@var{scheme}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
834 . @var{host}:@var{portnumber})}}, says that the URL @var{scheme} is
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
835 gatewayed through @var{portnumber} on the specified @var{host}. An
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
836 exception is the pseudo scheme @code{"no_proxy"}, which is paired with
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
837 a regexp matching host names not to be proxied. This variable is
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
838 initialized from the environment as above.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
839
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
840 @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
841 (setq url-proxy-services
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
842 '(("http" . "proxy.aventail.com:80")
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
843 ("no_proxy" . "^.*\\(aventail\\|seanet\\)\\.com")))
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
844 @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
845 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
846
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
847 @node Gateways in general
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
848 @section Gateways in General
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
849 @cindex gateways
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
850 @cindex firewalls
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
851
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
852 The library provides a general gateway layer through which all
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
853 networking passes. It can both control access to the network and
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
854 provide access through gateways in firewalls. This may make direct
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
855 connections in some cases and pass through some sort of gateway in
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
856 others.@footnote{Proxies (which only operate over HTTP) are
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
857 implemented using this.} The library's basic function responsible for
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
858 making connections is @code{url-open-stream}.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
859
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
860 @defun url-open-stream name buffer host service
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
861 @cindex opening a stream
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
862 @cindex stream, opening
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
863 Open a stream to @var{host}, possibly via a gateway. The other
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
864 arguments are as for @code{open-network-stream}. This will not make a
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
865 connection if @code{url-gateway-unplugged} is non-@code{nil}.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
866 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
867
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
868 @defvar url-gateway-local-host-regexp
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
869 This is a regular expression that matches local hosts that do not
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
870 require the use of a gateway. If @code{nil}, all connections are made
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
871 through the gateway.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
872 @end defvar
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
873
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
874 @defvar url-gateway-method
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
875 This variable controls which gateway method is used. It may be useful
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
876 to bind it temporarily in some applications. It has values taken from
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
877 a list of symbols. Possible values are:
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
878
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
879 @table @code
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
880 @item telnet
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
881 @cindex @command{telnet}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
882 Use this method if you must first telnet and log into a gateway host,
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
883 and then run telnet from that host to connect to outside machines.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
884
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
885 @item rlogin
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
886 @cindex @command{rlogin}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
887 This method is identical to @code{telnet}, but uses @command{rlogin}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
888 to log into the remote machine without having to send the username and
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
889 password over the wire every time.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
890
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
891 @item socks
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
892 @cindex @sc{socks}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
893 Use if the firewall has a @sc{socks} gateway running on it. The
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
894 @sc{socks} v5 protocol is defined in RFC 1928.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
895
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
896 @c @item ssl
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
897 @c This probably shouldn't be documented
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
898 @c Fixme: why not? -- fx
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
899
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
900 @item native
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
901 This method uses Emacs's builtin networking directly. This is the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
902 default. It can be used only if there is no firewall blocking access.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
903 @end table
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
904 @end defvar
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
905
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
906 The following variables control the gateway methods.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
907
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
908 @defopt url-gateway-telnet-host
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
909 The gateway host to telnet to. Once logged in there, you then telnet
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
910 out to the hosts you want to connect to.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
911 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
912 @defopt url-gateway-telnet-parameters
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
913 This should be a list of parameters to pass to the @command{telnet} program.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
914 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
915 @defopt url-gateway-telnet-password-prompt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
916 This is a regular expression that matches the password prompt when
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
917 logging in.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
918 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
919 @defopt url-gateway-telnet-login-prompt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
920 This is a regular expression that matches the username prompt when
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
921 logging in.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
922 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
923 @defopt url-gateway-telnet-user-name
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
924 The username to log in with.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
925 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
926 @defopt url-gateway-telnet-password
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
927 The password to send when logging in.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
928 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
929 @defopt url-gateway-prompt-pattern
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
930 This is a regular expression that matches the shell prompt.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
931 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
932
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
933 @defopt url-gateway-rlogin-host
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
934 Host to @samp{rlogin} to before telnetting out.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
935 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
936 @defopt url-gateway-rlogin-parameters
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
937 Parametres to pass to @samp{rsh}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
938 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
939 @defopt url-gateway-rlogin-user-name
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
940 User name to use when logging in to the gateway.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
941 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
942 @defopt url-gateway-prompt-pattern
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
943 This is a regular expression that matches the shell prompt.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
944 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
945
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
946 @defopt socks-server
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
947 This specifies the default server, it takes the form
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
948 @w{@code{("Default server" @var{server} @var{port} @var{version})}}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
949 where @var{version} can be either 4 or 5.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
950 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
951 @defvar socks-password
59003
19324ec97f76 Correct typos.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59002
diff changeset
952 If this is @code{nil} then you will be asked for the password,
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
953 otherwise it will be used as the password for authenticating you to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
954 the @sc{socks} server.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
955 @end defvar
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
956 @defvar socks-username
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
957 This is the username to use when authenticating yourself to the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
958 @sc{socks} server. By default this is your login name.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
959 @end defvar
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
960 @defvar socks-timeout
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
961 This controls how long, in seconds, to wait for responses from the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
962 @sc{socks} server; it is 5 by default.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
963 @end defvar
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
964 @c fixme: these have been effectively commented-out in the code
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
965 @c @defopt socks-server-aliases
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
966 @c This a list of server aliases. It is a list of aliases of the form
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
967 @c @var{(alias hostname port version)}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
968 @c @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
969 @c @defopt socks-network-aliases
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
970 @c This a list of network aliases. Each entry in the list takes the form
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
971 @c @var{(alias (network))} where @var{alias} is a string that names the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
972 @c @var{network}. The networks can contain a pair (not a dotted pair) of
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
973 @c @sc{ip} addresses which specify a range of @sc{ip} addresses, an @sc{ip}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
974 @c address and a netmask, a domain name or a unique hostname or @sc{ip}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
975 @c address.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
976 @c @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
977 @c @defopt socks-redirection-rules
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
978 @c This a list of redirection rules. Each rule take the form
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
979 @c @var{(Destination network Connection type)} where @var{Destination
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
980 @c network} is a network alias from @code{socks-network-aliases} and
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
981 @c @var{Connection type} can be @code{nil} in which case a direct
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
982 @c connection is used, or it can be an alias from
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
983 @c @code{socks-server-aliases} in which case that server is used as a
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
984 @c proxy.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
985 @c @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
986 @defopt socks-nslookup-program
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
987 @cindex @command{nslookup}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
988 This the @samp{nslookup} program. It is @code{"nslookup"} by default.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
989 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
990
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
991 @menu
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
992 * Suppressing network connections::
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
993 @end menu
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
994 @c * Broken hostname resolution::
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
995
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
996 @node Suppressing network connections
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
997 @subsection Suppressing Network Connections
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
998
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
999 @cindex network connections, suppressing
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
1000 @cindex suppressing network connections
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1001 @cindex bugs, HTML
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1002 @cindex HTML `bugs'
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1003 In some circumstances it is desirable to suppress making network
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
1004 connections. A typical case is when rendering HTML in a mail user
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1005 agent, when external URLs should not be activated, particularly to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1006 avoid `bugs' which `call home' by fetch single-pixel images and the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1007 like. To arrange this, bind the following variable for the duration
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1008 of such processing.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1009
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1010 @defvar url-gateway-unplugged
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
1011 If this variable is non-@code{nil} new network connections are never
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1012 opened by the URL library.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1013 @end defvar
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1014
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1015 @c @node Broken hostname resolution
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1016 @c @subsection Broken Hostname Resolution
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1017
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1018 @c @cindex hostname resolver
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1019 @c @cindex resolver, hostname
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1020 @c Some C libraries do not include the hostname resolver routines in
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1021 @c their static libraries. If Emacs was linked statically, and was not
59003
19324ec97f76 Correct typos.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59002
diff changeset
1022 @c linked with the resolver libraries, it will not be able to get to any
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1023 @c machines off the local network. This is characterized by being able
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1024 @c to reach someplace with a raw ip number, but not its hostname
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1025 @c (@url{http://129.79.254.191/} works, but
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1026 @c @url{http://www.cs.indiana.edu/} doesn't). This used to happen on
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1027 @c SunOS4 and Ultrix, but is now probably now rare. If Emacs can't be
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1028 @c rebuilt linked against the resolver library, it can use the external
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1029 @c @command{nslookup} program instead.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1030
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1031 @c @defopt url-gateway-broken-resolution
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1032 @c @cindex @code{nslookup} program
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1033 @c @cindex program, @code{nslookup}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1034 @c If non-@code{nil}, this variable says to use the program specified by
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1035 @c @code{url-gateway-nslookup-program} program to do hostname resolution.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1036 @c @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1037
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1038 @c @defopt url-gateway-nslookup-program
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1039 @c The name of the program to do hostname lookup if Emacs can't do it
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1040 @c directly. This program should expect a single argument on the command
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1041 @c line---the hostname to resolve---and should produce output similar to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1042 @c the standard Unix @command{nslookup} program:
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1043 @c @example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1044 @c Name: www.cs.indiana.edu
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1045 @c Address: 129.79.254.191
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1046 @c @end example
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1047 @c @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1048
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1049 @node History
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1050 @section History
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1051
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1052 The library can maintain a global history list tracking URLs accessed.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1053 URL completion can be done from it. The history mechanism is set up
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1054 @findex url-do-setup
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1055 automatically via @code{url-do-setup} when it is configured to be on.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1056 Note that the size of the history list is currently not limited.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1057
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1058 @vindex url-history-hash-table
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1059 The history `list' is actually a hash table,
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1060 @code{url-history-hash-table}. It contains access times keyed by URL
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1061 strings. The times are in the format returned by @code{current-time}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1062
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1063 @defun url-history-update-url url time
59003
19324ec97f76 Correct typos.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59002
diff changeset
1064 This function updates the history table with an entry for @var{url}
19324ec97f76 Correct typos.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59002
diff changeset
1065 accessed at the given @var{time}.
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1066 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1067
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1068 @defopt url-history-track
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1069 If non-@code{nil}, the library will keep track of all the URLs
64465
a6023efbb0be (History): Delete duplicate words.
Juri Linkov <juri@jurta.org>
parents: 63636
diff changeset
1070 accessed. If it is @code{t}, the list is saved to disk at the end of
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1071 each Emacs session. The default is @code{nil}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1072 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1073
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1074 @defopt url-history-file
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1075 The file storing the history list between sessions. It defaults to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1076 @file{history} in @code{url-configuration-directory}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1077 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1078
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1079 @defopt url-history-save-interval
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1080 @findex url-history-setup-save-timer
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1081 The number of seconds between automatic saves of the history list.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1082 Default is one hour. Note that if you change this variable directly,
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1083 rather than using Custom, after @code{url-do-setup} has been run, you
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1084 need to run the function @code{url-history-setup-save-timer}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1085 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1086
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1087 @defun url-history-parse-history &optional fname
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1088 Parses the history file @var{fname} (default @code{url-history-file})
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1089 and sets up the history list.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1090 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1091
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1092 @defun url-history-save-history &optional fname
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1093 Saves the current history to file @var{fname} (default
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1094 @code{url-history-file}).
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1095 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1096
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1097 @defun url-completion-function string predicate function
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1098 You can use this function to do completion of URLs from the history.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1099 @end defun
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1100
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1101 @node Customization
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1102 @chapter Customization
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1103
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1104 @section Environment Variables
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1105
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1106 @cindex environment variables
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1107 The following environment variables affect the library's operation at
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1108 startup.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1109
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1110 @table @code
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1111 @item TMPDIR
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1112 @vindex TMPDIR
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1113 @vindex url-temporary-directory
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1114 If this is defined, @var{url-temporary-directory} is initialized from
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1115 it.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1116 @end table
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1117
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1118 @section General User Options
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1119
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1120 The following user options, settable with Customize, affect the
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1121 general operation of the package.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1122
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1123 @defopt url-debug
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1124 @cindex debugging
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1125 Specifies the types of debug messages the library which are logged to
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1126 the @code{*URL-DEBUG*} buffer.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1127 @code{t} means log all messages.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1128 A number means log all messages and show them with @code{message}.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1129 If may also be a list of the types of messages to be logged.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1130 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1131 @defopt url-personal-mail-address
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1132 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1133 @defopt url-privacy-level
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1134 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1135 @defopt url-uncompressor-alist
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1136 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1137 @defopt url-passwd-entry-func
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1138 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1139 @defopt url-standalone-mode
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1140 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1141 @defopt url-bad-port-list
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1142 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1143 @defopt url-max-password-attempts
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1144 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1145 @defopt url-temporary-directory
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1146 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1147 @defopt url-show-status
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1148 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1149 @defopt url-confirmation-func
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1150 The function to use for asking yes or no functions. This is normally
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1151 either @code{y-or-n-p} or @code{yes-or-no-p}, but could be another
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1152 function taking a single argument (the prompt) and returning @code{t}
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1153 only if an affirmative answer is given.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1154 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1155 @defopt url-gateway-method
59002
d60af8f9ca75 Delete trailing whitespace.
Luc Teirlinck <teirllm@auburn.edu>
parents: 58849
diff changeset
1156 @c fixme: describe gatewaying
63636
75c04f750f89 Fix spellings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62429
diff changeset
1157 A symbol specifying the type of gateway support to use for connections
58830
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1158 from the local machine. The supported methods are:
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1159
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1160 @table @code
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1161 @item telnet
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1162 Run telnet in a subprocess to connect;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1163 @item rlogin
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1164 Rlogin to another machine to connect;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1165 @item socks
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1166 Connect through a socks server;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1167 @item ssl
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1168 Connect with SSL;
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1169 @item native
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1170 Connect directly.
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1171 @end table
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1172 @end defopt
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1173
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1174 @node Function Index
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1175 @unnumbered Command and Function Index
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1176 @printindex fn
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1177
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1178 @node Variable Index
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1179 @unnumbered Variable Index
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1180 @printindex vr
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1181
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1182 @node Concept Index
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1183 @unnumbered Concept Index
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1184 @printindex cp
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1185
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1186 @setchapternewpage odd
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1187 @contents
27baac8434ba url.texi: New file.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1188 @bye
58833
d97ebd9e30f6 Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents: 58830
diff changeset
1189
d97ebd9e30f6 Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents: 58830
diff changeset
1190 @ignore
d97ebd9e30f6 Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents: 58830
diff changeset
1191 arch-tag: c96be356-7e2d-4196-bcda-b13246c5c3f0
d97ebd9e30f6 Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents: 58830
diff changeset
1192 @end ignore