url 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749
  1. This is ../../info/url, produced by makeinfo version 4.13 from url.texi.
  2. INFO-DIR-SECTION Emacs lisp libraries
  3. START-INFO-DIR-ENTRY
  4. * URL: (url). URL loading package.
  5. END-INFO-DIR-ENTRY
  6. This file documents the Emacs Lisp URL loading package.
  7. Copyright (C) 1993-1999, 2002, 2004-2012 Free Software Foundation,
  8. Inc.
  9. Permission is granted to copy, distribute and/or modify this
  10. document under the terms of the GNU Free Documentation License,
  11. Version 1.3 or any later version published by the Free Software
  12. Foundation; with no Invariant Sections, with the Front-Cover texts
  13. being "A GNU Manual," and with the Back-Cover Texts as in (a)
  14. below. A copy of the license is included in the section entitled
  15. "GNU Free Documentation License".
  16. (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
  17. modify this GNU manual. Buying copies from the FSF supports it in
  18. developing GNU and promoting software freedom."
  19. 
  20. File: url, Node: Top, Next: Getting Started, Up: (dir)
  21. URL
  22. ***
  23. This file documents the Emacs Lisp URL loading package.
  24. Copyright (C) 1993-1999, 2002, 2004-2012 Free Software Foundation,
  25. Inc.
  26. Permission is granted to copy, distribute and/or modify this
  27. document under the terms of the GNU Free Documentation License,
  28. Version 1.3 or any later version published by the Free Software
  29. Foundation; with no Invariant Sections, with the Front-Cover texts
  30. being "A GNU Manual," and with the Back-Cover Texts as in (a)
  31. below. A copy of the license is included in the section entitled
  32. "GNU Free Documentation License".
  33. (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
  34. modify this GNU manual. Buying copies from the FSF supports it in
  35. developing GNU and promoting software freedom."
  36. * Menu:
  37. * Getting Started:: Preparing your program to use URLs.
  38. * Retrieving URLs:: How to use this package to retrieve a URL.
  39. * Supported URL Types:: Descriptions of URL types currently supported.
  40. * Defining New URLs:: How to define a URL loader for a new protocol.
  41. * General Facilities:: URLs can be cached, accessed via a gateway
  42. and tracked in a history list.
  43. * Customization:: Variables you can alter.
  44. * GNU Free Documentation License:: The license for this documentation.
  45. * Function Index::
  46. * Variable Index::
  47. * Concept Index::
  48. 
  49. File: url, Node: Getting Started, Next: Retrieving URLs, Prev: Top, Up: Top
  50. 1 Getting Started
  51. *****************
  52. "Uniform Resource Locators" (URLs) are a specific form of "Uniform
  53. Resource Identifiers" (URI) described in RFC 2396 which updates RFC
  54. 1738 and RFC 1808. RFC 2016 defines uniform resource agents.
  55. URIs have the form SCHEME:SCHEME-SPECIFIC-PART, where the SCHEMEs
  56. supported by this library are described below. *Note Supported URL
  57. Types::.
  58. FTP, NFS, HTTP, HTTPS, `rlogin', `telnet', tn3270, IRC and gopher
  59. URLs all have the form
  60. SCHEME://[USERINFO@]HOSTNAME[:PORT][/PATH]
  61. where `[' and `]' delimit optional parts. USERINFO sometimes takes
  62. the form USERNAME:PASSWORD but you should beware of the security risks
  63. of sending cleartext passwords. HOSTNAME may be a domain name or a
  64. dotted decimal address. If the `:PORT' is omitted then the library will
  65. use the "well known" port for that service when accessing URLs. With
  66. the possible exception of `telnet', it is rare for ports to be
  67. specified, and it is possible using a non-standard port may have
  68. undesired consequences if a different service is listening on that port
  69. (e.g., an HTTP URL specifying the SMTP port can cause mail to be sent).
  70. The meaning of the PATH component depends on the service.
  71. * Menu:
  72. * Configuration::
  73. * Parsed URLs:: URLs are parsed into vector structures.
  74. 
  75. File: url, Node: Configuration, Next: Parsed URLs, Up: Getting Started
  76. 1.1 Configuration
  77. =================
  78. -- Variable: url-configuration-directory
  79. The directory in which URL configuration files, the cache etc.,
  80. reside. The old default was `~/.url', and this directory is still
  81. used if it exists. The new default is a `url/' directory in
  82. `user-emacs-directory', which is normally `~/.emacs.d'.
  83. 
  84. File: url, Node: Parsed URLs, Prev: Configuration, Up: Getting Started
  85. 1.2 Parsed URLs
  86. ===============
  87. The library functions typically operate on "parsed" versions of URLs.
  88. These are actually CL structures (vectors) of the form:
  89. [cl-struct-url TYPE USER PASSWORD HOST PORT FILENAME TARGET ATTRIBUTES FULLNESS USE-COOKIES]
  90. where
  91. TYPE
  92. is the type of the URL scheme, e.g., `http'
  93. USER
  94. is the username associated with it, or `nil';
  95. PASSWORD
  96. is the user password associated with it, or `nil';
  97. HOST
  98. is the host name associated with it, or `nil';
  99. PORT
  100. is the port number associated with it, or `nil';
  101. FILENAME
  102. is the "file" part of it, or `nil'. This doesn't necessarily
  103. actually refer to a file;
  104. TARGET
  105. is the target part, or `nil';
  106. ATTRIBUTES
  107. is the attributes associated with it, or `nil';
  108. FULLNESS
  109. is `t' for a fully-specified URL, with a host part indicated by
  110. `//' after the scheme part.
  111. USE-COOKIES
  112. is `nil' to neither send or store cookies to the server, `t'
  113. otherwise.
  114. These attributes have accessors named `url-PART', where PART is the
  115. name of one of the elements above, e.g., `url-host'. These attributes
  116. can be set with the same accessors using `setf':
  117. (setf (url-port url) 80)
  118. If PORT is NIL, `url-port' returns the default port of the protocol.
  119. There are functions for parsing and unparsing between the string and
  120. vector forms.
  121. -- Function: url-generic-parse-url url
  122. Return a parsed version of the string URL.
  123. -- Function: url-recreate-url url
  124. Recreates a URL string from the parsed URL.
  125. 
  126. File: url, Node: Retrieving URLs, Next: Supported URL Types, Prev: Getting Started, Up: Top
  127. 2 Retrieving URLs
  128. *****************
  129. -- Function: url-retrieve-synchronously url
  130. Retrieve URL synchronously and return a buffer containing the
  131. data. URL is either a string or a parsed URL structure. Return
  132. `nil' if there are no data associated with it (the case for dired,
  133. info, or mailto URLs that need no further processing).
  134. -- Function: url-retrieve url callback &optional cbargs silent
  135. no-cookies
  136. Retrieve URL asynchronously and call CALLBACK with args CBARGS
  137. when finished. The callback is called when the object has been
  138. completely retrieved, with the current buffer containing the
  139. object and any MIME headers associated with it. URL is either a
  140. string or a parsed URL structure. Returns the buffer URL will
  141. load into, or `nil' if the process has already completed. If the
  142. optional argument SILENT is non-`nil', suppress progress messages.
  143. If the optional argument NO-COOKIES is non-`nil', do not store or
  144. send cookies.
  145. -- Function: url-queue-retrieve url callback &optional cbargs silent
  146. no-cookies
  147. This acts like the `url-retrieve' function, but with limits on the
  148. degree of parallelism. The option `url-queue-parallel-processes'
  149. controls the number of concurrent processes, and the option
  150. `url-queue-timeout' sets a timeout in seconds.
  151. 
  152. File: url, Node: Supported URL Types, Next: Defining New URLs, Prev: Retrieving URLs, Up: Top
  153. 3 Supported URL Types
  154. *********************
  155. * Menu:
  156. * http/https:: Hypertext Transfer Protocol.
  157. * file/ftp:: Local files and FTP archives.
  158. * info:: Emacs "Info" pages.
  159. * mailto:: Sending email.
  160. * news/nntp/snews:: Usenet news.
  161. * rlogin/telnet/tn3270:: Remote host connectivity.
  162. * irc:: Internet Relay Chat.
  163. * data:: Embedded data URLs.
  164. * nfs:: Networked File System
  165. * cid:: Content-ID.
  166. * about::
  167. * ldap:: Lightweight Directory Access Protocol
  168. * imap:: IMAP mailboxes.
  169. * man:: Unix man pages.
  170. 
  171. File: url, Node: http/https, Next: file/ftp, Up: Supported URL Types
  172. 3.1 `http' and `https'
  173. ======================
  174. The scheme `http' is Hypertext Transfer Protocol. The library supports
  175. version 1.1, specified in RFC 2616. (This supersedes 1.0, defined in
  176. RFC 1945) HTTP URLs have the following form, where most of the parts
  177. are optional:
  178. http://USER:PASSWORD@HOST:PORT/PATH?SEARCHPART#FRAGMENT
  179. The scheme `https' is a secure version of `http', with transmission
  180. via SSL. It is defined in RFC 2069. Its default port is 443. This
  181. scheme depends on SSL support in Emacs via the `ssl.el' library and is
  182. actually implemented by forcing the `ssl' gateway method to be used.
  183. *Note Gateways in general::.
  184. -- User Option: url-honor-refresh-requests
  185. This controls honoring of HTTP `Refresh' headers by which servers
  186. can direct clients to reload documents from the same URL or a or
  187. different one. `nil' means they will not be honored, `t' (the
  188. default) means they will always be honored, and otherwise the user
  189. will be asked on each request.
  190. * Menu:
  191. * Cookies::
  192. * HTTP language/coding::
  193. * HTTP URL Options::
  194. * Dealing with HTTP documents::
  195. 
  196. File: url, Node: Cookies, Next: HTTP language/coding, Up: http/https
  197. 3.1.1 Cookies
  198. -------------
  199. -- User Option: url-cookie-file
  200. The file in which cookies are stored, defaulting to `cookies' in
  201. the directory specified by `url-configuration-directory'.
  202. -- User Option: url-cookie-confirmation
  203. Specifies whether confirmation is require to accept cookies.
  204. -- User Option: url-cookie-multiple-line
  205. Specifies whether to put all cookies for the server on one line in
  206. the HTTP request to satisfy broken servers like
  207. `http://www.hotmail.com'.
  208. -- User Option: url-cookie-trusted-urls
  209. A list of regular expressions matching URLs from which to accept
  210. cookies always.
  211. -- User Option: url-cookie-untrusted-urls
  212. A list of regular expressions matching URLs from which to reject
  213. cookies always.
  214. -- User Option: url-cookie-save-interval
  215. The number of seconds between automatic saves of cookies to disk.
  216. Default is one hour.
  217. 
  218. File: url, Node: HTTP language/coding, Next: HTTP URL Options, Prev: Cookies, Up: http/https
  219. 3.1.2 Language and Encoding Preferences
  220. ---------------------------------------
  221. HTTP allows clients to express preferences for the language and
  222. encoding of documents which servers may honor. For each of these
  223. variables, the value is a string; it can specify a single choice, or it
  224. can be a comma-separated list.
  225. Normally, this list is ordered by descending preference. However,
  226. each element can be followed by `;q=PRIORITY' to specify its preference
  227. level, a decimal number from 0 to 1; e.g., for
  228. `url-mime-language-string', `"de, en-gb;q=0.8, en;q=0.7"'. An element
  229. that has no `;q' specification has preference level 1.
  230. -- User Option: url-mime-charset-string
  231. This variable specifies a preference for character sets when
  232. documents can be served in more than one encoding.
  233. HTTP allows specifying a series of MIME charsets which indicate
  234. your preferred character set encodings, e.g., Latin-9 or Big5, and
  235. these can be weighted. The default series is generated
  236. automatically from the associated MIME types of all defined coding
  237. systems, sorted by the coding system priority specified in Emacs.
  238. *Note Recognizing Coding Systems: (emacs)Recognize Coding.
  239. -- User Option: url-mime-language-string
  240. A string specifying the preferred language when servers can serve
  241. files in several languages. Use RFC 1766 abbreviations, e.g.,
  242. `en' for English, `de' for German.
  243. The string can be `"*"' to get the first available language (as
  244. opposed to the default).
  245. 
  246. File: url, Node: HTTP URL Options, Next: Dealing with HTTP documents, Prev: HTTP language/coding, Up: http/https
  247. 3.1.3 HTTP URL Options
  248. ----------------------
  249. HTTP supports an `OPTIONS' method describing things supported by the
  250. URL.
  251. -- Function: url-http-options url
  252. Returns a property list describing options available for URL. The
  253. property list members are:
  254. `methods'
  255. A list of symbols specifying what HTTP methods the resource
  256. supports.
  257. `dav'
  258. A list of numbers specifying what DAV protocol/schema
  259. versions are supported.
  260. `dasl'
  261. A list of supported DASL search types supported (string form).
  262. `ranges'
  263. A list of the units available for use in partial document
  264. fetches.
  265. `p3p'
  266. The "Platform For Privacy Protection" description for the
  267. resource. Currently this is just the raw header contents.
  268. 
  269. File: url, Node: Dealing with HTTP documents, Prev: HTTP URL Options, Up: http/https
  270. 3.1.4 Dealing with HTTP documents
  271. ---------------------------------
  272. HTTP URLs are retrieved into a buffer containing the HTTP headers
  273. followed by the body. Since the headers are quasi-MIME, they may be
  274. processed using the MIME library. *Note Emacs MIME: (emacs-mime)Top.
  275. 
  276. File: url, Node: file/ftp, Next: info, Prev: http/https, Up: Supported URL Types
  277. 3.2 file and ftp
  278. ================
  279. ftp://USER:PASSWORD@HOST:PORT/FILE
  280. file://USER:PASSWORD@HOST:PORT/FILE
  281. These schemes are defined in RFC 1808. `ftp:' and `file:' are
  282. synonymous in this library. They allow reading arbitrary files from
  283. hosts. Either `ange-ftp' (Emacs) or `efs' (XEmacs) is used to retrieve
  284. them from remote hosts. Local files are accessed directly.
  285. Compressed files are handled, but support is hard-coded so that
  286. `jka-compr-compression-info-list' and so on have no affect. Suffixes
  287. recognized are `.z', `.gz', `.Z' and `.bz2'.
  288. -- User Option: url-directory-index-file
  289. The filename to look for when indexing a directory, default
  290. `"index.html"'. If this file exists, and is readable, then it
  291. will be viewed instead of using `dired' to view the directory.
  292. 
  293. File: url, Node: info, Next: mailto, Prev: file/ftp, Up: Supported URL Types
  294. 3.3 info
  295. ========
  296. info:FILE#NODE
  297. Info URLs are not officially defined. They invoke `Info-goto-node'
  298. with argument `(FILE)NODE'. `#NODE' is optional, defaulting to `Top'.
  299. 
  300. File: url, Node: mailto, Next: news/nntp/snews, Prev: info, Up: Supported URL Types
  301. 3.4 mailto
  302. ==========
  303. A mailto URL will send an email message to the address in the URL, for
  304. example `mailto:foo@bar.com' would compose a message to `foo@bar.com'.
  305. -- User Option: url-mail-command
  306. The function called whenever url needs to send mail. This should
  307. normally be left to default from MAIL-USER-AGENT. *Note
  308. Mail-Composition Methods: (emacs)Mail Methods.
  309. An `X-Url-From' header field containing the URL of the document that
  310. contained the mailto URL is added if that URL is known.
  311. RFC 2368 extends the definition of mailto URLs in RFC 1738. The
  312. form of a mailto URL is
  313. `mailto:MAILBOX[?HEADER=CONTENTS[&HEADER=CONTENTS]]'
  314. where an arbitrary number of HEADERs can be added. If the HEADER is
  315. `body', then CONTENTS is put in the body otherwise a HEADER header
  316. field is created with CONTENTS as its contents. Note that the URL
  317. library does not consider any headers "dangerous" so you should check
  318. them before sending the message.
  319. Email messages are defined in RFC822.
  320. 
  321. File: url, Node: news/nntp/snews, Next: rlogin/telnet/tn3270, Prev: mailto, Up: Supported URL Types
  322. 3.5 `news', `nntp' and `snews'
  323. ==============================
  324. The network news URL scheme take the following forms following RFC 1738
  325. except that for compatibility with other clients, host and port fields
  326. may be included in news URLs though they are properly only allowed for
  327. nntp an snews.
  328. `news:NEWSGROUP'
  329. Retrieves a list of messages in NEWSGROUP;
  330. `news:MESSAGE-ID'
  331. Retrieves the message with the given MESSAGE-ID;
  332. `news:*'
  333. Retrieves a list of all available newsgroups;
  334. `nntp://HOST:PORT/NEWSGROUP'
  335. `nntp://HOST:PORT/MESSAGE-ID'
  336. `nntp://HOST:PORT/*'
  337. Similar to the `news' versions.
  338. `:PORT' is optional and defaults to :119.
  339. `snews' is the same as `nntp' except that the default port is :563. (It
  340. is tunneled through SSL.)
  341. An `nntp' URL is the same as a news URL, except that the URL may
  342. specify an article by its number.
  343. -- User Option: url-news-server
  344. This variable can be used to override the default news server.
  345. Usually this will be set by the Gnus package, which is used to
  346. fetch news. It may be set from the conventional environment
  347. variable `NNTPSERVER'.
  348. 
  349. File: url, Node: rlogin/telnet/tn3270, Next: irc, Prev: news/nntp/snews, Up: Supported URL Types
  350. 3.6 rlogin, telnet and tn3270
  351. =============================
  352. These URL schemes from RFC 1738 for logon via a terminal emulator have
  353. the form
  354. telnet://USER:PASSWORD@HOST:PORT
  355. but the `:PASSWORD' component is ignored.
  356. To handle rlogin, telnet and tn3270 URLs, a `rlogin', `telnet' or
  357. `tn3270' (the program names and arguments are hardcoded) session is run
  358. in a `terminal-emulator' buffer. Well-known ports are used if the URL
  359. does not specify a port.
  360. 
  361. File: url, Node: irc, Next: data, Prev: rlogin/telnet/tn3270, Up: Supported URL Types
  362. 3.7 irc
  363. =======
  364. "Internet Relay Chat" (IRC) is handled by handing off the IRC session
  365. to a function named in `url-irc-function'.
  366. -- User Option: url-irc-function
  367. A function to actually open an IRC connection. This function must
  368. take five arguments, HOST, PORT, CHANNEL, USER and PASSWORD. The
  369. CHANNEL argument specifies the channel to join immediately, this
  370. can be `nil'. By default this is `url-irc-rcirc'.
  371. -- Function: url-irc-rcirc host port channel user password
  372. Processes the arguments and lets `rcirc' handle the session.
  373. -- Function: url-irc-erc host port channel user password
  374. Processes the arguments and lets `ERC' handle the session.
  375. -- Function: url-irc-zenirc host port channel user password
  376. Processes the arguments and lets `zenirc' handle the session.
  377. 
  378. File: url, Node: data, Next: nfs, Prev: irc, Up: Supported URL Types
  379. 3.8 data
  380. ========
  381. data:[MEDIA-TYPE][;BASE64],DATA
  382. Data URLs contain MIME data in the URL itself. They are defined in
  383. RFC 2397.
  384. MEDIA-TYPE is a MIME `Content-Type' string, possibly including
  385. parameters. It defaults to `text/plain;charset=US-ASCII'. The
  386. `text/plain' can be omitted but the charset parameter supplied. If
  387. `;base64' is present, the DATA are base64-encoded.
  388. 
  389. File: url, Node: nfs, Next: cid, Prev: data, Up: Supported URL Types
  390. 3.9 nfs
  391. =======
  392. nfs://USER:PASSWORD@HOST:PORT/FILE
  393. The `nfs:' scheme is defined in RFC 2224. It is similar to `ftp:'
  394. except that it points to a file on a remote host that is handled by the
  395. automounter on the local host.
  396. -- Variable: url-nfs-automounter-directory-spec
  397. A string saying how to invoke the NFS automounter. Certain `%'
  398. sequences are recognized:
  399. `%h'
  400. The hostname of the NFS server;
  401. `%n'
  402. The port number of the NFS server;
  403. `%u'
  404. The username to use to authenticate;
  405. `%p'
  406. The password to use to authenticate;
  407. `%f'
  408. The filename on the remote server;
  409. `%%'
  410. A literal `%'.
  411. Each can be used any number of times.
  412. 
  413. File: url, Node: cid, Next: about, Prev: nfs, Up: Supported URL Types
  414. 3.10 cid
  415. ========
  416. RFC 2111
  417. 
  418. File: url, Node: about, Next: ldap, Prev: cid, Up: Supported URL Types
  419. 3.11 about
  420. ==========
  421. 
  422. File: url, Node: ldap, Next: imap, Prev: about, Up: Supported URL Types
  423. 3.12 ldap
  424. =========
  425. The LDAP scheme is defined in RFC 2255.
  426. 
  427. File: url, Node: imap, Next: man, Prev: ldap, Up: Supported URL Types
  428. 3.13 imap
  429. =========
  430. RFC 2192
  431. 
  432. File: url, Node: man, Prev: imap, Up: Supported URL Types
  433. 3.14 man
  434. ========
  435. `man:PAGE-SPEC'
  436. This is a non-standard scheme. PAGE-SPEC is passed directly to the
  437. Lisp `man' function.
  438. 
  439. File: url, Node: Defining New URLs, Next: General Facilities, Prev: Supported URL Types, Up: Top
  440. 4 Defining New URLs
  441. *******************
  442. * Menu:
  443. * Naming conventions::
  444. * Required functions::
  445. * Optional functions::
  446. * Asynchronous fetching::
  447. * Supporting file-name-handlers::
  448. 
  449. File: url, Node: Naming conventions, Next: Required functions, Up: Defining New URLs
  450. 4.1 Naming conventions
  451. ======================
  452. 
  453. File: url, Node: Required functions, Next: Optional functions, Prev: Naming conventions, Up: Defining New URLs
  454. 4.2 Required functions
  455. ======================
  456. 
  457. File: url, Node: Optional functions, Next: Asynchronous fetching, Prev: Required functions, Up: Defining New URLs
  458. 4.3 Optional functions
  459. ======================
  460. 
  461. File: url, Node: Asynchronous fetching, Next: Supporting file-name-handlers, Prev: Optional functions, Up: Defining New URLs
  462. 4.4 Asynchronous fetching
  463. =========================
  464. 
  465. File: url, Node: Supporting file-name-handlers, Prev: Asynchronous fetching, Up: Defining New URLs
  466. 4.5 Supporting file-name-handlers
  467. =================================
  468. 
  469. File: url, Node: General Facilities, Next: Customization, Prev: Defining New URLs, Up: Top
  470. 5 General Facilities
  471. ********************
  472. * Menu:
  473. * Disk Caching::
  474. * Proxies::
  475. * Gateways in general::
  476. * History::
  477. 
  478. File: url, Node: Disk Caching, Next: Proxies, Up: General Facilities
  479. 5.1 Disk Caching
  480. ================
  481. The disk cache stores retrieved documents locally, whence they can be
  482. retrieved more quickly. When requesting a URL that is in the cache,
  483. the library checks to see if the page has changed since it was last
  484. retrieved from the remote machine. If not, the local copy is used,
  485. saving the transmission over the network. Currently the cache isn't
  486. cleared automatically.
  487. -- User Option: url-automatic-caching
  488. Setting this variable non-`nil' causes documents to be cached
  489. automatically.
  490. -- User Option: url-cache-directory
  491. This variable specifies the directory to store the cache files.
  492. It defaults to sub-directory `cache' of
  493. `url-configuration-directory'.
  494. -- User Option: url-cache-creation-function
  495. The cache relies on a scheme for mapping URLs to files in the
  496. cache. This variable names a function which sets the type of
  497. cache to use. It takes a URL as argument and returns the absolute
  498. file name of the corresponding cache file. The two supplied
  499. possibilities are `url-cache-create-filename-using-md5' and
  500. `url-cache-create-filename-human-readable'.
  501. -- Function: url-cache-create-filename-using-md5 url
  502. Creates a cache file name from URL using MD5 hashing. This is
  503. creates entries with very few cache collisions and is fast.
  504. (url-cache-create-filename-using-md5 "http://www.example.com/foo/bar")
  505. => "/home/fx/.url/cache/fx/http/com/example/www/b8a35774ad20db71c7c3409a5410e74f"
  506. -- Function: url-cache-create-filename-human-readable url
  507. Creates a cache file name from URL more obviously connected to URL
  508. than for `url-cache-create-filename-using-md5', but more likely to
  509. conflict with other files.
  510. (url-cache-create-filename-human-readable "http://www.example.com/foo/bar")
  511. => "/home/fx/.url/cache/fx/http/com/example/www/foo/bar"
  512. -- Function: url-cache-expired
  513. This function returns non-nil if a cache entry has expired (or is
  514. absent). The arguments are a URL and optional expiration delay in
  515. seconds (default URL-CACHE-EXPIRE-TIME).
  516. -- User Option: url-cache-expire-time
  517. This variable is the default number of seconds to use for the
  518. expire-time argument of the function `url-cache-expired'.
  519. -- Function: url-fetch-from-cache
  520. This function takes a URL as its argument and returns a buffer
  521. containing the data cached for that URL.
  522. 
  523. File: url, Node: Proxies, Next: Gateways in general, Prev: Disk Caching, Up: General Facilities
  524. 5.2 Proxies and Gatewaying
  525. ==========================
  526. Proxy servers are commonly used to provide gateways through firewalls
  527. or as caches serving some more-or-less local network. Each protocol
  528. (HTTP, FTP, etc.) can have a different gateway server. Proxying is
  529. conventionally configured commonly amongst different programs through
  530. environment variables of the form `PROTOCOL_proxy', where PROTOCOL is
  531. one of the supported network protocols (`http', `ftp' etc.). The
  532. library recognizes such variables in either upper or lower case. Their
  533. values are of one of the forms:
  534. * `HOST:PORT'
  535. * A full URL;
  536. * Simply a host name.
  537. The `NO_PROXY' environment variable specifies URLs that should be
  538. excluded from proxying (on servers that should be contacted directly).
  539. This should be a comma-separated list of hostnames, domain names, or a
  540. mixture of both. Asterisks can be used as wildcards, but other clients
  541. may not support that. Domain names may be indicated by a leading dot.
  542. For example:
  543. NO_PROXY="*.aventail.com,home.com,.seanet.com"
  544. says to contact all machines in the `aventail.com' and `seanet.com'
  545. domains directly, as well as the machine named `home.com'. If
  546. `NO_PROXY' isn't defined, `no_PROXY' and `no_proxy' are also tried, in
  547. that order.
  548. Proxies may also be specified directly in Lisp.
  549. -- User Option: url-proxy-services
  550. This variable is an alist of URL schemes and proxy servers that
  551. gateway them. The items are of the form
  552. `(SCHEME . HOST:PORTNUMBER)', says that the URL SCHEME is
  553. gatewayed through PORTNUMBER on the specified HOST. An exception
  554. is the pseudo scheme `"no_proxy"', which is paired with a regexp
  555. matching host names not to be proxied. This variable is
  556. initialized from the environment as above.
  557. (setq url-proxy-services
  558. '(("http" . "proxy.aventail.com:80")
  559. ("no_proxy" . "^.*\\(aventail\\|seanet\\)\\.com")))
  560. 
  561. File: url, Node: Gateways in general, Next: History, Prev: Proxies, Up: General Facilities
  562. 5.3 Gateways in General
  563. =======================
  564. The library provides a general gateway layer through which all
  565. networking passes. It can both control access to the network and
  566. provide access through gateways in firewalls. This may make direct
  567. connections in some cases and pass through some sort of gateway in
  568. others.(1) The library's basic function responsible for making
  569. connections is `url-open-stream'.
  570. -- Function: url-open-stream name buffer host service
  571. Open a stream to HOST, possibly via a gateway. The other
  572. arguments are as for `open-network-stream'. This will not make a
  573. connection if `url-gateway-unplugged' is non-`nil'.
  574. -- Variable: url-gateway-local-host-regexp
  575. This is a regular expression that matches local hosts that do not
  576. require the use of a gateway. If `nil', all connections are made
  577. through the gateway.
  578. -- Variable: url-gateway-method
  579. This variable controls which gateway method is used. It may be
  580. useful to bind it temporarily in some applications. It has values
  581. taken from a list of symbols. Possible values are:
  582. `telnet'
  583. Use this method if you must first telnet and log into a
  584. gateway host, and then run telnet from that host to connect
  585. to outside machines.
  586. `rlogin'
  587. This method is identical to `telnet', but uses `rlogin' to
  588. log into the remote machine without having to send the
  589. username and password over the wire every time.
  590. `socks'
  591. Use if the firewall has a SOCKS gateway running on it. The
  592. SOCKS v5 protocol is defined in RFC 1928.
  593. `native'
  594. This method uses Emacs's builtin networking directly. This
  595. is the default. It can be used only if there is no firewall
  596. blocking access.
  597. The following variables control the gateway methods.
  598. -- User Option: url-gateway-telnet-host
  599. The gateway host to telnet to. Once logged in there, you then
  600. telnet out to the hosts you want to connect to.
  601. -- User Option: url-gateway-telnet-parameters
  602. This should be a list of parameters to pass to the `telnet'
  603. program.
  604. -- User Option: url-gateway-telnet-password-prompt
  605. This is a regular expression that matches the password prompt when
  606. logging in.
  607. -- User Option: url-gateway-telnet-login-prompt
  608. This is a regular expression that matches the username prompt when
  609. logging in.
  610. -- User Option: url-gateway-telnet-user-name
  611. The username to log in with.
  612. -- User Option: url-gateway-telnet-password
  613. The password to send when logging in.
  614. -- User Option: url-gateway-prompt-pattern
  615. This is a regular expression that matches the shell prompt.
  616. -- User Option: url-gateway-rlogin-host
  617. Host to `rlogin' to before telnetting out.
  618. -- User Option: url-gateway-rlogin-parameters
  619. Parameters to pass to `rsh'.
  620. -- User Option: url-gateway-rlogin-user-name
  621. User name to use when logging in to the gateway.
  622. -- User Option: url-gateway-prompt-pattern
  623. This is a regular expression that matches the shell prompt.
  624. -- User Option: socks-server
  625. This specifies the default server, it takes the form
  626. `("Default server" SERVER PORT VERSION)' where VERSION can be
  627. either 4 or 5.
  628. -- Variable: socks-password
  629. If this is `nil' then you will be asked for the password,
  630. otherwise it will be used as the password for authenticating you to
  631. the SOCKS server.
  632. -- Variable: socks-username
  633. This is the username to use when authenticating yourself to the
  634. SOCKS server. By default this is your login name.
  635. -- Variable: socks-timeout
  636. This controls how long, in seconds, to wait for responses from the
  637. SOCKS server; it is 5 by default.
  638. -- User Option: socks-nslookup-program
  639. This the `nslookup' program. It is `"nslookup"' by default.
  640. * Menu:
  641. * Suppressing network connections::
  642. ---------- Footnotes ----------
  643. (1) Proxies (which only operate over HTTP) are implemented using
  644. this.
  645. 
  646. File: url, Node: Suppressing network connections, Up: Gateways in general
  647. 5.3.1 Suppressing Network Connections
  648. -------------------------------------
  649. In some circumstances it is desirable to suppress making network
  650. connections. A typical case is when rendering HTML in a mail user
  651. agent, when external URLs should not be activated, particularly to
  652. avoid "bugs" which "call home" by fetch single-pixel images and the
  653. like. To arrange this, bind the following variable for the duration of
  654. such processing.
  655. -- Variable: url-gateway-unplugged
  656. If this variable is non-`nil' new network connections are never
  657. opened by the URL library.
  658. 
  659. File: url, Node: History, Prev: Gateways in general, Up: General Facilities
  660. 5.4 History
  661. ===========
  662. The library can maintain a global history list tracking URLs accessed.
  663. URL completion can be done from it. The history mechanism is set up
  664. automatically via `url-do-setup' when it is configured to be on. Note
  665. that the size of the history list is currently not limited.
  666. The history "list" is actually a hash table,
  667. `url-history-hash-table'. It contains access times keyed by URL
  668. strings. The times are in the format returned by `current-time'.
  669. -- Function: url-history-update-url url time
  670. This function updates the history table with an entry for URL
  671. accessed at the given TIME.
  672. -- User Option: url-history-track
  673. If non-`nil', the library will keep track of all the URLs
  674. accessed. If it is `t', the list is saved to disk at the end of
  675. each Emacs session. The default is `nil'.
  676. -- User Option: url-history-file
  677. The file storing the history list between sessions. It defaults to
  678. `history' in `url-configuration-directory'.
  679. -- User Option: url-history-save-interval
  680. The number of seconds between automatic saves of the history list.
  681. Default is one hour. Note that if you change this variable
  682. directly, rather than using Custom, after `url-do-setup' has been
  683. run, you need to run the function `url-history-setup-save-timer'.
  684. -- Function: url-history-parse-history &optional fname
  685. Parses the history file FNAME (default `url-history-file') and
  686. sets up the history list.
  687. -- Function: url-history-save-history &optional fname
  688. Saves the current history to file FNAME (default
  689. `url-history-file').
  690. -- Function: url-completion-function string predicate function
  691. You can use this function to do completion of URLs from the
  692. history.
  693. 
  694. File: url, Node: Customization, Next: GNU Free Documentation License, Prev: General Facilities, Up: Top
  695. 6 Customization
  696. ***************
  697. 6.1 Environment Variables
  698. =========================
  699. The following environment variables affect the library's operation at
  700. startup.
  701. `TMPDIR'
  702. If this is defined, URL-TEMPORARY-DIRECTORY is initialized from it.
  703. 6.2 General User Options
  704. ========================
  705. The following user options, settable with Customize, affect the general
  706. operation of the package.
  707. -- User Option: url-debug
  708. Specifies the types of debug messages which are logged to the
  709. `*URL-DEBUG*' buffer. `t' means log all messages. A number means
  710. log all messages and show them with `message'. It may also be a
  711. list of the types of messages to be logged.
  712. -- User Option: url-personal-mail-address
  713. -- User Option: url-privacy-level
  714. -- User Option: url-uncompressor-alist
  715. -- User Option: url-passwd-entry-func
  716. -- User Option: url-standalone-mode
  717. -- User Option: url-bad-port-list
  718. -- User Option: url-max-password-attempts
  719. -- User Option: url-temporary-directory
  720. -- User Option: url-show-status
  721. -- User Option: url-confirmation-func
  722. The function to use for asking yes or no functions. This is
  723. normally either `y-or-n-p' or `yes-or-no-p', but could be another
  724. function taking a single argument (the prompt) and returning `t'
  725. only if an affirmative answer is given.
  726. -- User Option: url-gateway-method
  727. A symbol specifying the type of gateway support to use for
  728. connections from the local machine. The supported methods are:
  729. `telnet'
  730. Run telnet in a subprocess to connect;
  731. `rlogin'
  732. Rlogin to another machine to connect;
  733. `socks'
  734. Connect through a socks server;
  735. `ssl'
  736. Connect with SSL;
  737. `native'
  738. Connect directly.
  739. 
  740. File: url, Node: GNU Free Documentation License, Next: Function Index, Prev: Customization, Up: Top
  741. Appendix A GNU Free Documentation License
  742. *****************************************
  743. Version 1.3, 3 November 2008
  744. Copyright (C) 2000, 2001, 2002, 2007, 2008, 2009 Free Software Foundation, Inc.
  745. `http://fsf.org/'
  746. Everyone is permitted to copy and distribute verbatim copies
  747. of this license document, but changing it is not allowed.
  748. 0. PREAMBLE
  749. The purpose of this License is to make a manual, textbook, or other
  750. functional and useful document "free" in the sense of freedom: to
  751. assure everyone the effective freedom to copy and redistribute it,
  752. with or without modifying it, either commercially or
  753. noncommercially. Secondarily, this License preserves for the
  754. author and publisher a way to get credit for their work, while not
  755. being considered responsible for modifications made by others.
  756. This License is a kind of "copyleft", which means that derivative
  757. works of the document must themselves be free in the same sense.
  758. It complements the GNU General Public License, which is a copyleft
  759. license designed for free software.
  760. We have designed this License in order to use it for manuals for
  761. free software, because free software needs free documentation: a
  762. free program should come with manuals providing the same freedoms
  763. that the software does. But this License is not limited to
  764. software manuals; it can be used for any textual work, regardless
  765. of subject matter or whether it is published as a printed book.
  766. We recommend this License principally for works whose purpose is
  767. instruction or reference.
  768. 1. APPLICABILITY AND DEFINITIONS
  769. This License applies to any manual or other work, in any medium,
  770. that contains a notice placed by the copyright holder saying it
  771. can be distributed under the terms of this License. Such a notice
  772. grants a world-wide, royalty-free license, unlimited in duration,
  773. to use that work under the conditions stated herein. The
  774. "Document", below, refers to any such manual or work. Any member
  775. of the public is a licensee, and is addressed as "you". You
  776. accept the license if you copy, modify or distribute the work in a
  777. way requiring permission under copyright law.
  778. A "Modified Version" of the Document means any work containing the
  779. Document or a portion of it, either copied verbatim, or with
  780. modifications and/or translated into another language.
  781. A "Secondary Section" is a named appendix or a front-matter section
  782. of the Document that deals exclusively with the relationship of the
  783. publishers or authors of the Document to the Document's overall
  784. subject (or to related matters) and contains nothing that could
  785. fall directly within that overall subject. (Thus, if the Document
  786. is in part a textbook of mathematics, a Secondary Section may not
  787. explain any mathematics.) The relationship could be a matter of
  788. historical connection with the subject or with related matters, or
  789. of legal, commercial, philosophical, ethical or political position
  790. regarding them.
  791. The "Invariant Sections" are certain Secondary Sections whose
  792. titles are designated, as being those of Invariant Sections, in
  793. the notice that says that the Document is released under this
  794. License. If a section does not fit the above definition of
  795. Secondary then it is not allowed to be designated as Invariant.
  796. The Document may contain zero Invariant Sections. If the Document
  797. does not identify any Invariant Sections then there are none.
  798. The "Cover Texts" are certain short passages of text that are
  799. listed, as Front-Cover Texts or Back-Cover Texts, in the notice
  800. that says that the Document is released under this License. A
  801. Front-Cover Text may be at most 5 words, and a Back-Cover Text may
  802. be at most 25 words.
  803. A "Transparent" copy of the Document means a machine-readable copy,
  804. represented in a format whose specification is available to the
  805. general public, that is suitable for revising the document
  806. straightforwardly with generic text editors or (for images
  807. composed of pixels) generic paint programs or (for drawings) some
  808. widely available drawing editor, and that is suitable for input to
  809. text formatters or for automatic translation to a variety of
  810. formats suitable for input to text formatters. A copy made in an
  811. otherwise Transparent file format whose markup, or absence of
  812. markup, has been arranged to thwart or discourage subsequent
  813. modification by readers is not Transparent. An image format is
  814. not Transparent if used for any substantial amount of text. A
  815. copy that is not "Transparent" is called "Opaque".
  816. Examples of suitable formats for Transparent copies include plain
  817. ASCII without markup, Texinfo input format, LaTeX input format,
  818. SGML or XML using a publicly available DTD, and
  819. standard-conforming simple HTML, PostScript or PDF designed for
  820. human modification. Examples of transparent image formats include
  821. PNG, XCF and JPG. Opaque formats include proprietary formats that
  822. can be read and edited only by proprietary word processors, SGML or
  823. XML for which the DTD and/or processing tools are not generally
  824. available, and the machine-generated HTML, PostScript or PDF
  825. produced by some word processors for output purposes only.
  826. The "Title Page" means, for a printed book, the title page itself,
  827. plus such following pages as are needed to hold, legibly, the
  828. material this License requires to appear in the title page. For
  829. works in formats which do not have any title page as such, "Title
  830. Page" means the text near the most prominent appearance of the
  831. work's title, preceding the beginning of the body of the text.
  832. The "publisher" means any person or entity that distributes copies
  833. of the Document to the public.
  834. A section "Entitled XYZ" means a named subunit of the Document
  835. whose title either is precisely XYZ or contains XYZ in parentheses
  836. following text that translates XYZ in another language. (Here XYZ
  837. stands for a specific section name mentioned below, such as
  838. "Acknowledgements", "Dedications", "Endorsements", or "History".)
  839. To "Preserve the Title" of such a section when you modify the
  840. Document means that it remains a section "Entitled XYZ" according
  841. to this definition.
  842. The Document may include Warranty Disclaimers next to the notice
  843. which states that this License applies to the Document. These
  844. Warranty Disclaimers are considered to be included by reference in
  845. this License, but only as regards disclaiming warranties: any other
  846. implication that these Warranty Disclaimers may have is void and
  847. has no effect on the meaning of this License.
  848. 2. VERBATIM COPYING
  849. You may copy and distribute the Document in any medium, either
  850. commercially or noncommercially, provided that this License, the
  851. copyright notices, and the license notice saying this License
  852. applies to the Document are reproduced in all copies, and that you
  853. add no other conditions whatsoever to those of this License. You
  854. may not use technical measures to obstruct or control the reading
  855. or further copying of the copies you make or distribute. However,
  856. you may accept compensation in exchange for copies. If you
  857. distribute a large enough number of copies you must also follow
  858. the conditions in section 3.
  859. You may also lend copies, under the same conditions stated above,
  860. and you may publicly display copies.
  861. 3. COPYING IN QUANTITY
  862. If you publish printed copies (or copies in media that commonly
  863. have printed covers) of the Document, numbering more than 100, and
  864. the Document's license notice requires Cover Texts, you must
  865. enclose the copies in covers that carry, clearly and legibly, all
  866. these Cover Texts: Front-Cover Texts on the front cover, and
  867. Back-Cover Texts on the back cover. Both covers must also clearly
  868. and legibly identify you as the publisher of these copies. The
  869. front cover must present the full title with all words of the
  870. title equally prominent and visible. You may add other material
  871. on the covers in addition. Copying with changes limited to the
  872. covers, as long as they preserve the title of the Document and
  873. satisfy these conditions, can be treated as verbatim copying in
  874. other respects.
  875. If the required texts for either cover are too voluminous to fit
  876. legibly, you should put the first ones listed (as many as fit
  877. reasonably) on the actual cover, and continue the rest onto
  878. adjacent pages.
  879. If you publish or distribute Opaque copies of the Document
  880. numbering more than 100, you must either include a
  881. machine-readable Transparent copy along with each Opaque copy, or
  882. state in or with each Opaque copy a computer-network location from
  883. which the general network-using public has access to download
  884. using public-standard network protocols a complete Transparent
  885. copy of the Document, free of added material. If you use the
  886. latter option, you must take reasonably prudent steps, when you
  887. begin distribution of Opaque copies in quantity, to ensure that
  888. this Transparent copy will remain thus accessible at the stated
  889. location until at least one year after the last time you
  890. distribute an Opaque copy (directly or through your agents or
  891. retailers) of that edition to the public.
  892. It is requested, but not required, that you contact the authors of
  893. the Document well before redistributing any large number of
  894. copies, to give them a chance to provide you with an updated
  895. version of the Document.
  896. 4. MODIFICATIONS
  897. You may copy and distribute a Modified Version of the Document
  898. under the conditions of sections 2 and 3 above, provided that you
  899. release the Modified Version under precisely this License, with
  900. the Modified Version filling the role of the Document, thus
  901. licensing distribution and modification of the Modified Version to
  902. whoever possesses a copy of it. In addition, you must do these
  903. things in the Modified Version:
  904. A. Use in the Title Page (and on the covers, if any) a title
  905. distinct from that of the Document, and from those of
  906. previous versions (which should, if there were any, be listed
  907. in the History section of the Document). You may use the
  908. same title as a previous version if the original publisher of
  909. that version gives permission.
  910. B. List on the Title Page, as authors, one or more persons or
  911. entities responsible for authorship of the modifications in
  912. the Modified Version, together with at least five of the
  913. principal authors of the Document (all of its principal
  914. authors, if it has fewer than five), unless they release you
  915. from this requirement.
  916. C. State on the Title page the name of the publisher of the
  917. Modified Version, as the publisher.
  918. D. Preserve all the copyright notices of the Document.
  919. E. Add an appropriate copyright notice for your modifications
  920. adjacent to the other copyright notices.
  921. F. Include, immediately after the copyright notices, a license
  922. notice giving the public permission to use the Modified
  923. Version under the terms of this License, in the form shown in
  924. the Addendum below.
  925. G. Preserve in that license notice the full lists of Invariant
  926. Sections and required Cover Texts given in the Document's
  927. license notice.
  928. H. Include an unaltered copy of this License.
  929. I. Preserve the section Entitled "History", Preserve its Title,
  930. and add to it an item stating at least the title, year, new
  931. authors, and publisher of the Modified Version as given on
  932. the Title Page. If there is no section Entitled "History" in
  933. the Document, create one stating the title, year, authors,
  934. and publisher of the Document as given on its Title Page,
  935. then add an item describing the Modified Version as stated in
  936. the previous sentence.
  937. J. Preserve the network location, if any, given in the Document
  938. for public access to a Transparent copy of the Document, and
  939. likewise the network locations given in the Document for
  940. previous versions it was based on. These may be placed in
  941. the "History" section. You may omit a network location for a
  942. work that was published at least four years before the
  943. Document itself, or if the original publisher of the version
  944. it refers to gives permission.
  945. K. For any section Entitled "Acknowledgements" or "Dedications",
  946. Preserve the Title of the section, and preserve in the
  947. section all the substance and tone of each of the contributor
  948. acknowledgements and/or dedications given therein.
  949. L. Preserve all the Invariant Sections of the Document,
  950. unaltered in their text and in their titles. Section numbers
  951. or the equivalent are not considered part of the section
  952. titles.
  953. M. Delete any section Entitled "Endorsements". Such a section
  954. may not be included in the Modified Version.
  955. N. Do not retitle any existing section to be Entitled
  956. "Endorsements" or to conflict in title with any Invariant
  957. Section.
  958. O. Preserve any Warranty Disclaimers.
  959. If the Modified Version includes new front-matter sections or
  960. appendices that qualify as Secondary Sections and contain no
  961. material copied from the Document, you may at your option
  962. designate some or all of these sections as invariant. To do this,
  963. add their titles to the list of Invariant Sections in the Modified
  964. Version's license notice. These titles must be distinct from any
  965. other section titles.
  966. You may add a section Entitled "Endorsements", provided it contains
  967. nothing but endorsements of your Modified Version by various
  968. parties--for example, statements of peer review or that the text
  969. has been approved by an organization as the authoritative
  970. definition of a standard.
  971. You may add a passage of up to five words as a Front-Cover Text,
  972. and a passage of up to 25 words as a Back-Cover Text, to the end
  973. of the list of Cover Texts in the Modified Version. Only one
  974. passage of Front-Cover Text and one of Back-Cover Text may be
  975. added by (or through arrangements made by) any one entity. If the
  976. Document already includes a cover text for the same cover,
  977. previously added by you or by arrangement made by the same entity
  978. you are acting on behalf of, you may not add another; but you may
  979. replace the old one, on explicit permission from the previous
  980. publisher that added the old one.
  981. The author(s) and publisher(s) of the Document do not by this
  982. License give permission to use their names for publicity for or to
  983. assert or imply endorsement of any Modified Version.
  984. 5. COMBINING DOCUMENTS
  985. You may combine the Document with other documents released under
  986. this License, under the terms defined in section 4 above for
  987. modified versions, provided that you include in the combination
  988. all of the Invariant Sections of all of the original documents,
  989. unmodified, and list them all as Invariant Sections of your
  990. combined work in its license notice, and that you preserve all
  991. their Warranty Disclaimers.
  992. The combined work need only contain one copy of this License, and
  993. multiple identical Invariant Sections may be replaced with a single
  994. copy. If there are multiple Invariant Sections with the same name
  995. but different contents, make the title of each such section unique
  996. by adding at the end of it, in parentheses, the name of the
  997. original author or publisher of that section if known, or else a
  998. unique number. Make the same adjustment to the section titles in
  999. the list of Invariant Sections in the license notice of the
  1000. combined work.
  1001. In the combination, you must combine any sections Entitled
  1002. "History" in the various original documents, forming one section
  1003. Entitled "History"; likewise combine any sections Entitled
  1004. "Acknowledgements", and any sections Entitled "Dedications". You
  1005. must delete all sections Entitled "Endorsements."
  1006. 6. COLLECTIONS OF DOCUMENTS
  1007. You may make a collection consisting of the Document and other
  1008. documents released under this License, and replace the individual
  1009. copies of this License in the various documents with a single copy
  1010. that is included in the collection, provided that you follow the
  1011. rules of this License for verbatim copying of each of the
  1012. documents in all other respects.
  1013. You may extract a single document from such a collection, and
  1014. distribute it individually under this License, provided you insert
  1015. a copy of this License into the extracted document, and follow
  1016. this License in all other respects regarding verbatim copying of
  1017. that document.
  1018. 7. AGGREGATION WITH INDEPENDENT WORKS
  1019. A compilation of the Document or its derivatives with other
  1020. separate and independent documents or works, in or on a volume of
  1021. a storage or distribution medium, is called an "aggregate" if the
  1022. copyright resulting from the compilation is not used to limit the
  1023. legal rights of the compilation's users beyond what the individual
  1024. works permit. When the Document is included in an aggregate, this
  1025. License does not apply to the other works in the aggregate which
  1026. are not themselves derivative works of the Document.
  1027. If the Cover Text requirement of section 3 is applicable to these
  1028. copies of the Document, then if the Document is less than one half
  1029. of the entire aggregate, the Document's Cover Texts may be placed
  1030. on covers that bracket the Document within the aggregate, or the
  1031. electronic equivalent of covers if the Document is in electronic
  1032. form. Otherwise they must appear on printed covers that bracket
  1033. the whole aggregate.
  1034. 8. TRANSLATION
  1035. Translation is considered a kind of modification, so you may
  1036. distribute translations of the Document under the terms of section
  1037. 4. Replacing Invariant Sections with translations requires special
  1038. permission from their copyright holders, but you may include
  1039. translations of some or all Invariant Sections in addition to the
  1040. original versions of these Invariant Sections. You may include a
  1041. translation of this License, and all the license notices in the
  1042. Document, and any Warranty Disclaimers, provided that you also
  1043. include the original English version of this License and the
  1044. original versions of those notices and disclaimers. In case of a
  1045. disagreement between the translation and the original version of
  1046. this License or a notice or disclaimer, the original version will
  1047. prevail.
  1048. If a section in the Document is Entitled "Acknowledgements",
  1049. "Dedications", or "History", the requirement (section 4) to
  1050. Preserve its Title (section 1) will typically require changing the
  1051. actual title.
  1052. 9. TERMINATION
  1053. You may not copy, modify, sublicense, or distribute the Document
  1054. except as expressly provided under this License. Any attempt
  1055. otherwise to copy, modify, sublicense, or distribute it is void,
  1056. and will automatically terminate your rights under this License.
  1057. However, if you cease all violation of this License, then your
  1058. license from a particular copyright holder is reinstated (a)
  1059. provisionally, unless and until the copyright holder explicitly
  1060. and finally terminates your license, and (b) permanently, if the
  1061. copyright holder fails to notify you of the violation by some
  1062. reasonable means prior to 60 days after the cessation.
  1063. Moreover, your license from a particular copyright holder is
  1064. reinstated permanently if the copyright holder notifies you of the
  1065. violation by some reasonable means, this is the first time you have
  1066. received notice of violation of this License (for any work) from
  1067. that copyright holder, and you cure the violation prior to 30 days
  1068. after your receipt of the notice.
  1069. Termination of your rights under this section does not terminate
  1070. the licenses of parties who have received copies or rights from
  1071. you under this License. If your rights have been terminated and
  1072. not permanently reinstated, receipt of a copy of some or all of
  1073. the same material does not give you any rights to use it.
  1074. 10. FUTURE REVISIONS OF THIS LICENSE
  1075. The Free Software Foundation may publish new, revised versions of
  1076. the GNU Free Documentation License from time to time. Such new
  1077. versions will be similar in spirit to the present version, but may
  1078. differ in detail to address new problems or concerns. See
  1079. `http://www.gnu.org/copyleft/'.
  1080. Each version of the License is given a distinguishing version
  1081. number. If the Document specifies that a particular numbered
  1082. version of this License "or any later version" applies to it, you
  1083. have the option of following the terms and conditions either of
  1084. that specified version or of any later version that has been
  1085. published (not as a draft) by the Free Software Foundation. If
  1086. the Document does not specify a version number of this License,
  1087. you may choose any version ever published (not as a draft) by the
  1088. Free Software Foundation. If the Document specifies that a proxy
  1089. can decide which future versions of this License can be used, that
  1090. proxy's public statement of acceptance of a version permanently
  1091. authorizes you to choose that version for the Document.
  1092. 11. RELICENSING
  1093. "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
  1094. World Wide Web server that publishes copyrightable works and also
  1095. provides prominent facilities for anybody to edit those works. A
  1096. public wiki that anybody can edit is an example of such a server.
  1097. A "Massive Multiauthor Collaboration" (or "MMC") contained in the
  1098. site means any set of copyrightable works thus published on the MMC
  1099. site.
  1100. "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
  1101. license published by Creative Commons Corporation, a not-for-profit
  1102. corporation with a principal place of business in San Francisco,
  1103. California, as well as future copyleft versions of that license
  1104. published by that same organization.
  1105. "Incorporate" means to publish or republish a Document, in whole or
  1106. in part, as part of another Document.
  1107. An MMC is "eligible for relicensing" if it is licensed under this
  1108. License, and if all works that were first published under this
  1109. License somewhere other than this MMC, and subsequently
  1110. incorporated in whole or in part into the MMC, (1) had no cover
  1111. texts or invariant sections, and (2) were thus incorporated prior
  1112. to November 1, 2008.
  1113. The operator of an MMC Site may republish an MMC contained in the
  1114. site under CC-BY-SA on the same site at any time before August 1,
  1115. 2009, provided the MMC is eligible for relicensing.
  1116. ADDENDUM: How to use this License for your documents
  1117. ====================================================
  1118. To use this License in a document you have written, include a copy of
  1119. the License in the document and put the following copyright and license
  1120. notices just after the title page:
  1121. Copyright (C) YEAR YOUR NAME.
  1122. Permission is granted to copy, distribute and/or modify this document
  1123. under the terms of the GNU Free Documentation License, Version 1.3
  1124. or any later version published by the Free Software Foundation;
  1125. with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  1126. Texts. A copy of the license is included in the section entitled ``GNU
  1127. Free Documentation License''.
  1128. If you have Invariant Sections, Front-Cover Texts and Back-Cover
  1129. Texts, replace the "with...Texts." line with this:
  1130. with the Invariant Sections being LIST THEIR TITLES, with
  1131. the Front-Cover Texts being LIST, and with the Back-Cover Texts
  1132. being LIST.
  1133. If you have Invariant Sections without Cover Texts, or some other
  1134. combination of the three, merge those two alternatives to suit the
  1135. situation.
  1136. If your document contains nontrivial examples of program code, we
  1137. recommend releasing these examples in parallel under your choice of
  1138. free software license, such as the GNU General Public License, to
  1139. permit their use in free software.
  1140. 
  1141. File: url, Node: Function Index, Next: Variable Index, Prev: GNU Free Documentation License, Up: Top
  1142. Command and Function Index
  1143. **************************
  1144. [index]
  1145. * Menu:
  1146. * Info-goto-node: info. (line 6)
  1147. * man: man. (line 6)
  1148. * terminal-emulator: rlogin/telnet/tn3270. (line 6)
  1149. * url-attributes: Parsed URLs. (line 45)
  1150. * url-cache-create-filename-human-readable: Disk Caching. (line 37)
  1151. * url-cache-create-filename-using-md5: Disk Caching. (line 31)
  1152. * url-cache-expired: Disk Caching. (line 44)
  1153. * url-completion-function: History. (line 43)
  1154. * url-do-setup: History. (line 6)
  1155. * url-fetch-from-cache: Disk Caching. (line 53)
  1156. * url-filename: Parsed URLs. (line 45)
  1157. * url-fullness: Parsed URLs. (line 45)
  1158. * url-generic-parse-url: Parsed URLs. (line 57)
  1159. * url-history-parse-history: History. (line 35)
  1160. * url-history-save-history: History. (line 39)
  1161. * url-history-setup-save-timer: History. (line 29)
  1162. * url-history-update-url: History. (line 16)
  1163. * url-host: Parsed URLs. (line 45)
  1164. * url-http-options: HTTP URL Options. (line 10)
  1165. * url-irc-erc: irc. (line 19)
  1166. * url-irc-rcirc: irc. (line 16)
  1167. * url-irc-zenirc: irc. (line 22)
  1168. * url-open-stream: Gateways in general. (line 14)
  1169. * url-password: Parsed URLs. (line 45)
  1170. * url-port: Parsed URLs. (line 45)
  1171. * url-queue-retrieve: Retrieving URLs. (line 26)
  1172. * url-recreate-url: Parsed URLs. (line 60)
  1173. * url-retrieve: Retrieving URLs. (line 14)
  1174. * url-retrieve-synchronously: Retrieving URLs. (line 7)
  1175. * url-target: Parsed URLs. (line 45)
  1176. * url-type: Parsed URLs. (line 45)
  1177. * url-user: Parsed URLs. (line 45)
  1178. 
  1179. File: url, Node: Variable Index, Next: Concept Index, Prev: Function Index, Up: Top
  1180. Variable Index
  1181. **************
  1182. [index]
  1183. * Menu:
  1184. * HTTP_PROXY: Proxies. (line 6)
  1185. * mail-user-agent: mailto. (line 10)
  1186. * NNTPSERVER: news/nntp/snews. (line 36)
  1187. * NO_PROXY: Proxies. (line 20)
  1188. * socks-nslookup-program: Gateways in general. (line 105)
  1189. * socks-password: Gateways in general. (line 92)
  1190. * socks-server: Gateways in general. (line 87)
  1191. * socks-timeout: Gateways in general. (line 101)
  1192. * socks-username: Gateways in general. (line 97)
  1193. * TMPDIR: Customization. (line 13)
  1194. * url-automatic-caching: Disk Caching. (line 14)
  1195. * url-bad-port-list: Customization. (line 38)
  1196. * url-cache-creation-function: Disk Caching. (line 23)
  1197. * url-cache-directory: Disk Caching. (line 18)
  1198. * url-cache-expire-time: Disk Caching. (line 49)
  1199. * url-configuration-directory: Configuration. (line 7)
  1200. * url-confirmation-func: Customization. (line 46)
  1201. * url-cookie-confirmation: Cookies. (line 11)
  1202. * url-cookie-file: Cookies. (line 7)
  1203. * url-cookie-multiple-line: Cookies. (line 14)
  1204. * url-cookie-save-interval: Cookies. (line 27)
  1205. * url-cookie-trusted-urls: Cookies. (line 19)
  1206. * url-cookie-untrusted-urls: Cookies. (line 23)
  1207. * url-debug: Customization. (line 22)
  1208. * url-directory-index-file: file/ftp. (line 19)
  1209. * url-gateway-local-host-regexp: Gateways in general. (line 19)
  1210. * url-gateway-method <1>: Customization. (line 52)
  1211. * url-gateway-method: Gateways in general. (line 24)
  1212. * url-gateway-prompt-pattern: Gateways in general. (line 72)
  1213. * url-gateway-rlogin-host: Gateways in general. (line 75)
  1214. * url-gateway-rlogin-parameters: Gateways in general. (line 78)
  1215. * url-gateway-rlogin-user-name: Gateways in general. (line 81)
  1216. * url-gateway-telnet-host: Gateways in general. (line 50)
  1217. * url-gateway-telnet-login-prompt: Gateways in general. (line 62)
  1218. * url-gateway-telnet-parameters: Gateways in general. (line 54)
  1219. * url-gateway-telnet-password: Gateways in general. (line 69)
  1220. * url-gateway-telnet-password-prompt: Gateways in general. (line 58)
  1221. * url-gateway-telnet-user-name: Gateways in general. (line 66)
  1222. * url-gateway-unplugged: Suppressing network connections.
  1223. (line 14)
  1224. * url-history-file: History. (line 25)
  1225. * url-history-hash-table: History. (line 11)
  1226. * url-history-save-interval: History. (line 29)
  1227. * url-history-track: History. (line 20)
  1228. * url-honor-refresh-requests: http/https. (line 19)
  1229. * url-irc-function: irc. (line 10)
  1230. * url-mail-command: mailto. (line 10)
  1231. * url-max-password-attempts: Customization. (line 40)
  1232. * url-mime-charset-string: HTTP language/coding.
  1233. (line 18)
  1234. * url-mime-language-string: HTTP language/coding.
  1235. (line 29)
  1236. * url-news-server: news/nntp/snews. (line 34)
  1237. * url-nfs-automounter-directory-spec: nfs. (line 13)
  1238. * url-passwd-entry-func: Customization. (line 34)
  1239. * url-personal-mail-address: Customization. (line 28)
  1240. * url-privacy-level: Customization. (line 30)
  1241. * url-proxy-services: Proxies. (line 35)
  1242. * url-queue-parallel-processes: Retrieving URLs. (line 24)
  1243. * url-queue-timeout: Retrieving URLs. (line 24)
  1244. * url-show-status: Customization. (line 44)
  1245. * url-standalone-mode: Customization. (line 36)
  1246. * url-temporary-directory: Customization. (line 13)
  1247. * url-uncompressor-alist: Customization. (line 32)
  1248. 
  1249. File: url, Node: Concept Index, Prev: Variable Index, Up: Top
  1250. Concept Index
  1251. *************
  1252. [index]
  1253. * Menu:
  1254. * automounter: nfs. (line 6)
  1255. * bugs, HTML: Suppressing network connections.
  1256. (line 6)
  1257. * Cache cleaning: Disk Caching. (line 10)
  1258. * Caching: Disk Caching. (line 6)
  1259. * character sets: HTTP language/coding.
  1260. (line 18)
  1261. * Cleaning the cache: Disk Caching. (line 10)
  1262. * Clearing the cache: Disk Caching. (line 10)
  1263. * coding systems: HTTP language/coding.
  1264. (line 18)
  1265. * compressed files: file/ftp. (line 6)
  1266. * configuration files: Configuration. (line 7)
  1267. * Content-ID: cid. (line 6)
  1268. * DASL: HTTP URL Options. (line 22)
  1269. * data URLs: data. (line 6)
  1270. * DAV: HTTP URL Options. (line 18)
  1271. * debugging: Customization. (line 22)
  1272. * dired: file/ftp. (line 6)
  1273. * Disk Cache: Disk Caching. (line 6)
  1274. * email: mailto. (line 6)
  1275. * environment variable: news/nntp/snews. (line 36)
  1276. * environment variables <1>: Customization. (line 9)
  1277. * environment variables: Proxies. (line 6)
  1278. * ERC: irc. (line 6)
  1279. * File Transfer Protocol: file/ftp. (line 6)
  1280. * files: file/ftp. (line 6)
  1281. * firewalls: Gateways in general. (line 6)
  1282. * FTP: file/ftp. (line 6)
  1283. * gateways: Gateways in general. (line 6)
  1284. * HTML `bugs': Suppressing network connections.
  1285. (line 6)
  1286. * IMAP: imap. (line 6)
  1287. * Info: info. (line 6)
  1288. * Internet Relay Chat: irc. (line 6)
  1289. * IRC: irc. (line 6)
  1290. * language preferences: HTTP language/coding.
  1291. (line 29)
  1292. * LDAP: ldap. (line 6)
  1293. * Lightweight Directory Access Protocol: ldap. (line 6)
  1294. * mailto: mailto. (line 6)
  1295. * man: man. (line 6)
  1296. * MD5: Disk Caching. (line 32)
  1297. * network connections, suppressing: Suppressing network connections.
  1298. (line 6)
  1299. * Network File System: nfs. (line 6)
  1300. * network news: news/nntp/snews. (line 6)
  1301. * news: news/nntp/snews. (line 6)
  1302. * NFS: nfs. (line 6)
  1303. * NNTP: news/nntp/snews. (line 6)
  1304. * nslookup: Gateways in general. (line 105)
  1305. * opening a stream: Gateways in general. (line 14)
  1306. * P3P: HTTP URL Options. (line 29)
  1307. * parsed URLs: Parsed URLs. (line 6)
  1308. * Persistent Cache: Disk Caching. (line 6)
  1309. * proxies: Proxies. (line 6)
  1310. * proxy servers: Proxies. (line 6)
  1311. * rcirc: irc. (line 6)
  1312. * rlogin <1>: Gateways in general. (line 34)
  1313. * rlogin: rlogin/telnet/tn3270.
  1314. (line 6)
  1315. * snews: news/nntp/snews. (line 6)
  1316. * SOCKS: Gateways in general. (line 39)
  1317. * SSL: news/nntp/snews. (line 27)
  1318. * stream, opening: Gateways in general. (line 14)
  1319. * suppressing network connections: Suppressing network connections.
  1320. (line 6)
  1321. * telnet <1>: Gateways in general. (line 29)
  1322. * telnet: rlogin/telnet/tn3270.
  1323. (line 6)
  1324. * terminal emulation: rlogin/telnet/tn3270.
  1325. (line 6)
  1326. * Texinfo: info. (line 6)
  1327. * tn3270: rlogin/telnet/tn3270.
  1328. (line 6)
  1329. * Unix man pages: man. (line 6)
  1330. * unparsing URLs: Parsed URLs. (line 60)
  1331. * URIs: Getting Started. (line 6)
  1332. * URLs, definition: Getting Started. (line 6)
  1333. * usenet: news/nntp/snews. (line 6)
  1334. * ZEN IRC: irc. (line 6)
  1335. * ~/.url: Configuration. (line 7)
  1336. 
  1337. Tag Table:
  1338. Node: Top995
  1339. Node: Getting Started2484
  1340. Node: Configuration3874
  1341. Node: Parsed URLs4299
  1342. Node: Retrieving URLs5917
  1343. Node: Supported URL Types7380
  1344. Node: http/https8240
  1345. Node: Cookies9421
  1346. Node: HTTP language/coding10407
  1347. Node: HTTP URL Options12034
  1348. Node: Dealing with HTTP documents12965
  1349. Node: file/ftp13331
  1350. Node: info14231
  1351. Node: mailto14498
  1352. Node: news/nntp/snews15606
  1353. Node: rlogin/telnet/tn327016840
  1354. Node: irc17407
  1355. Node: data18314
  1356. Node: nfs18779
  1357. Node: cid19529
  1358. Node: about19635
  1359. Node: ldap19736
  1360. Node: imap19877
  1361. Node: man19985
  1362. Node: Defining New URLs20183
  1363. Node: Naming conventions20467
  1364. Node: Required functions20605
  1365. Node: Optional functions20770
  1366. Node: Asynchronous fetching20938
  1367. Node: Supporting file-name-handlers21123
  1368. Node: General Facilities21297
  1369. Node: Disk Caching21513
  1370. Node: Proxies24036
  1371. Node: Gateways in general26091
  1372. Ref: Gateways in general-Footnote-130137
  1373. Node: Suppressing network connections30212
  1374. Node: History30863
  1375. Node: Customization32702
  1376. Node: GNU Free Documentation License34576
  1377. Node: Function Index59750
  1378. Node: Variable Index62271
  1379. Node: Concept Index67068
  1380. 
  1381. End Tag Table