Reference Type: Supported, Category: Toolkit—HTTP Client Helper, Integration Agreement: 5553
The $$GETURL^XTHC10 extrinsic function is a Hypertext Transfer Protocol (HTTP)/1.1 client that can request a Web page from another system and pass the returned data to the calling routine.
It can make both GET and POST requests.
It is the main API and returns in xt8rdat the returned data from the website.
NOTE: XTHC* routines are part of the HTTP Client Helper application for developers.
NOTE: This API was released with Kernel Toolkit patch XT*7.3*123. NOTE: This API is IPv6 compliant as of Kernel Toolkit patch XT*7.3*138.
(required) Universal Resource Locator (URL): http://host:port/path
(optional) Timeout and flags to control processing. If the value of this parameter starts from a number then this number is used as a value of the timeout (in seconds). Otherwise, the default value of 5 seconds is used.
(optional) Closed root of a variable containing the body of the request message. Data should be formatted as described in the xtT8rdat parameter.
NOTE: If this parameter is defined (i.e., not empty) and the referenced array contains data, then the POST request is generated. Otherwise, the GET request is sent.
(optional) Reference to a local variable containing header values, which will be added to the request.For example:
(optional) Flag to indicate the request method:
(optional) Closed root of the variable where the message body is returned. Data is stored in consecutive nodes. If a line is longer than 245 characters, only 245 characters are stored in the corresponding node. After that, overflow sub-nodes are created. For example:
@XT8DATA@(1)="<html>" @XT8DATA@(2)="<head><Title>VistA</title></head>" @XT8DATA@(3)="<body>" @XT8DATA@(4)="<p>" @XT8DATA@(5)="Beginning of a very long line" @XT8DATA@(5,1)="Continuation #1 of the long line" @XT8DATA@(5,2)="Continuation #2 of the long line" @XT8DATA@(5,...)=... @XT8DATA@(6)="</p>"
(optional) Reference to a local variable where the parsed headers are returned. Header names are converted to uppercase; the values are left "as is". The root node contains the status line. For example:
XT8HDR="HTTP/1.0 200 OK" XT8HDR("CACHE-CONTROL")="private" XT8HDR("CONNECTION")="Keep-Alive" XT8HDR("CONTENT-LENGTH")="2690" XT8HDR("CONTENT-TYPE")="text/html" XT8HDR("DATE")="Fri, 26 Sep 2003 16:04:10 GMT" XT8HDR("SERVER")="GWS/2.1"
Success: HTTP_Status_Code^Description Common HTTP status codes returned:The most common HTTP status codes include:
Fail: -1^Error Descriptor Additional error information can be found in the VistA error trap or ^XTER in programmer mode.
REF: For more details, see http://www.faqs.org/rfcs/rfc1945.html
June 6, 2018