Livecode Wiki

Designates a container consisting of an Internet resource or local file in the form of a URL.


get URL ""
put URL "binfile:/Users/myuser/Files/example.gif" into image "Example Logo"
post field "Results" to URL ""
get URL ""
put "Hello World" into URL "file:/Users/myuser/Documents/sample.txt"
put "Hello world!" into URL ("file:" & the  defaultfolder & "/TestingNow.txt")
-- Writing the contents of a field to an external file, preserving text encoding
on textSave
  put "всем привет" into field "russiantext"
  put textEncode(field "russiantext" ,"UTF-8") into URL "binfile:/Users/myuser/Documents/russtext.txt"
end textSave
# Reading contents of a file into LiveCode, preserving text encoding
on textRead
  local tText
  put URL "binfile:/Users/myuser/Documents/russtext.txt" into tText
  put textDecode(tText,"UTF-8") into field "russiantext"
end textRead

A URL is a method of designating a file or other resource. You can use a URL like any other container. You can get the contents of a URL or use its contents in any expression. LiveCode supports the following URL schemes:

  • http: a page from a web server
  • ftp: a directory or file on an FTP server
  • file: a text file on the local disk (not on a server)
  • binfile: a binary file
  • resfile: on Mac OS and OS X systems, the resource fork of a file

All actions that refer to a URL container are blocking: that is, the handler pauses until LiveCode is finished accessing the URL. Since fetching a web page may take some time due to network lag, accessing URLs may take long enough to be noticeable to the user. To avoid this delay, use the load command (which is non-blocking) to cache web pages before you need them.

For technical information about URLs and URL schemes, see RFC 1630.

It's always better to enclose the part after URL with parenthesis, in order to correct parsing problems:

put "Hello world!" into URL ("file:" & the  defaultfolder & "/TestingNow.txt")

Important: The http, ftp and https keywords are part of the Internet library on desktop platforms. To ensure that the keywords work in a desktop standalone application>, you must include this custom library when you create your standalone. In the Inclusions pane of the Standalone Application Settings window, make sure the "Internet" script library is selected.

Cross-platform note: On iOS and Android, you can use the http, ftp and https keywords without the need for the Internet library. When specifying URLs for iOS and Android, you must use the appropriate form that conforms to RFC 1630.

Important: The space character is not valid in URLs, however the Internet library (Desktop platforms) replaces this character with the required '%20'. This is something that the mobile and server platforms do not do. Be careful to construct valid URLs when working on fully cross platform applications. Changes

As of LiveCode 7.0.0, the URL keyword has been upgraded to understand Unicode files when using URL ("file located at the path has a Byte Order Mark at its beginning, then URL will decode the file according to that Byte Order Mark (UTF-8, UTF-16BE, UTF-16LE, UTF-32BE and UTF-32LE are compatible). If no Byte Order Mark is found, then the file will be decoded as if it were using Native encoding (MacRoman on Mac OS X, ISO-8859-1 on Linux, CP-1252 on Windows).

See also: binfile, file, ftp, http, resfile