Skip to main content

TURL_Get (function reference)

By October 1, 2021October 13th, 2021Online Help, Troi URL plug-in
Troi URL Plug-in for FileMaker Pro

TURL_Get

Gets the raw data of the specified URL. This can be for example the HTML of a web page.

SyntaxFunction badge

TURL_Get ( switches ; theURL )

Parameters

switches this determines the behaviour of the plug-in
theURL the url to get

Switches

Switches can be one or more of these:

-TimeoutTicks=x specify the timeout time in x ticks (1/60th of a second)
-ReturnHeader include the header in the returned text (at the beginning)
-ReturnDataAfterError return the error code followed by the data
-Portnumber=y specify the port number to use
-DontAutoRedirect the plug-in will not go to a redirected page but return the original page
-AllowAnyRootCertificate (for HTTPS) allow root certificates from unrecognized certification authorities. Note that this is less secure
-AlwaysSendUserPassword directly send the username + password, even when this might not be necessary
-DontTryWithUserPassword don’t send username + password when the web server requests authorization
-ExtraImageCheck the plug-in will perform extra tests to determine if it is a known image type
-DontDetectEncoding disable automatic UTF-8 encoding detection, instead keep the native encoding
-Encoding=UTF8 forces the resulting webpage to be interpreted as UTF-8
-NoDialog (obsolete) don’t display a progress dialog

Returned Result

Data type returned

Text

Result

If successful it returns the data of the URL. If unsuccessful it returns an error code starting with $$ and the error code. Returned error codes can be:

$$-1 genericErr the user cancelled
$$-4230 timeoutErr the connection timed out
$$-3242 protocolErr this protocol is not supported (use only http and https)
$$-30776 authnErr authentication error, you need to supply a correct user name and password
$$-92 ddpLenErr servername part of the url is too long
$$-2110 pathTooLongErr path part of the url is too long

Other errors may be returned, specifically errors in the range 300 to 599, which are HTTP Status Codes.

Originated in

Troi URL Plug-in 1.2

Compatibility

FileMaker Pro 16 to 19

Considerations

Secure connections (HTTPS) using SSL are also supported on Windows and macOS.

If you don’t specify a timeout, a default timeout of 15 seconds is used.

The maximum length of the URL is limited, by both the plug-in and receiving servers. A lot of web servers don’t support URLs longer than 2048 characters. Note that the plug-in has higher limits of 32867 characters. See also the user guide for more info on these limits.

On macOS you may need to set cookies to get the desired result. See the TURL_SetCookies function.

Some images on the web don’t have a clear extension, or even have an extension GIF even if they are JPEGs! When using the switch -ExtraImageCheck the plug-in will perform extra tests to see if it is a known image type. If it is an image type, the plug-in returns the data as an image instead of the raw data as text.

The plug-in can automatically detect UTF-8 encoded web pages (and encode them correctly). This is enabled by default, and is determined by looking for the meta and charset tag in the HTML result of the TURL_Get function. For an XML result the “encoding=utf-8” tag will also be detected.

Note that starting with v6.0 the plug-in no longer shows a progress dialog on nacOS.

Example

TURL_Get ( "-unused" ; "http://www.example.com/" )

This will return the specified web page. It will return something similar to:

<HTML><HEAD><TITLE>Example Web Page</TITLE></HEAD>
<BODY><p>You have reached this web page by typing www.example.com. 
These domain names are reserved for use in documentation and are 
not available for registration.</p> </BODY>/HTML>

Example 2

We assume that in your FileMaker file the following fields are defined:

theURL		Text
gTimeOutTime    Global, number

theURL should contain the URL, for example “http://www.filemaker.com”. In a script add the following script step:

Set Field [resultText ; TURL_Get ( "-NoDialog -TimeoutTicks="& gTimeOutTime& ; theURL ) ]

This will get the get data of the URL (the raw web page), without showing a dialog. If the server does not react the function will timeout after gTimeOutTime ticks and an error code of “$$-4230” will be returned.

Related functionsFunction badge

TURL_GetLastHTTPStatusCode
TURL_Post
TURL_SetCookies
TURL_SetCustomHeader
TURL_SetProxy

Related topics

Troi URL Plug-in online help (overview)


Online Help Page for Troi URL Plug-in for 16 to 19 –> TURL_Get (urlp4400) 2021-1013 16:26:43