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