Difference between revisions of "Ns http"
Jump to navigation
Jump to search
m (fix wikitext for code examples) |
|||
Line 22: | Line 22: | ||
: ''resultsVar'' is the name of a variable that should be used to store the HTTP response body. Default ''timeout'' is "2:0" (2s, 0usec). ''headers'' is the [[ns_set]] ID which will receive the headers from the HTTP response. | : ''resultsVar'' is the name of a variable that should be used to store the HTTP response body. Default ''timeout'' is "2:0" (2s, 0usec). ''headers'' is the [[ns_set]] ID which will receive the headers from the HTTP response. | ||
+ | |||
+ | Please note that in AOLserver 4.5 the API for ns_http has been enhanced, please see the section '''USAGE IN AOLSERVER 4.5''' below. | ||
'''EXAMPLES''' | '''EXAMPLES''' | ||
Line 54: | Line 56: | ||
% set err | % set err | ||
could not connect to : http://nonexistant.domain/ | could not connect to : http://nonexistant.domain/ | ||
+ | </pre> | ||
+ | |||
+ | '''USAGE IN AOLSERVER 4.5''' | ||
+ | |||
+ | In AOLserver 4.5 the ns_http command has been enhanced. Currently only ns_http queue and ns_http wait are documented. If you have documentation for ns_http cancel and ns_http cleanup please add it to this section. | ||
+ | |||
+ | '''DESCRIPTION''' | ||
+ | |||
+ | : ''timeout'' is the timeout for the request, ''method'' is the method for the request, ''body'' is the body to be sent with the request and ''headers'' is an [[ns_set]] containing headers to be sent with the request. | ||
+ | |||
+ | :* '''ns_http queue''' ''?-timeout timeout? ?-method method? ?-body body? ?-headers headers? url'' | ||
+ | |||
+ | : ''resultVar'' is the variable into which the body of the response is to be set, ''elapsedVar'' is a variable into which the elapsed time for the request is set, ''headersVar'' is an [[ns_set]] into which the response headers are set and ''statusVar'' is a variable into which the status line of the response is set. | ||
+ | |||
+ | :* '''ns_http wait''' ''-result resultVar ?-elapsed elapsedVar? ?-headers headersVar? ?-status statusVar? id'' | ||
+ | |||
+ | '''EXAMPLE''' | ||
+ | |||
+ | <pre> | ||
+ | set timeout 30 | ||
+ | set method GET | ||
+ | set body "" | ||
+ | set outputheaders [ns_set create outputheaders] | ||
+ | set headersVar [ns_set create headersVar] | ||
+ | set url http://www.aolserver.com/ | ||
+ | |||
+ | set id [ns_http queue -timeout $timeout -method $method -body $body -headers $outputheaders $url] | ||
+ | |||
+ | set status [ns_http wait -elapsed elapsedVar -result resultVar -headers $headersVar -status statusVar $id] | ||
</pre> | </pre> | ||
Line 59: | Line 90: | ||
: [[ns_httpopen]] | : [[ns_httpopen]] | ||
+ | |||
[[Category:Core Tcl API]] | [[Category:Core Tcl API]] |
Latest revision as of 14:12, 28 June 2009
<manpage>ns_http</manpage>
NAME
- ns_http - Simple HTTP client functionality
SYNOPSIS
- ns_http option ?arg arg ...?
DESCRIPTION
- This command provides a simple HTTP client mechanism.
- The legal options (which may be abbreviated) are:
- ns_http cancel id
- ns_http cleanup
- ns_http queue method url ?body? ?headers?
- body is the value which will be sent as the HTTP request body. headers is the ns_set ID containing the additional headers to include in the HTTP request.
- ns_http wait id resultsVar ?timeout? ?headers? ?-servicetime svcTime?
- resultsVar is the name of a variable that should be used to store the HTTP response body. Default timeout is "2:0" (2s, 0usec). headers is the ns_set ID which will receive the headers from the HTTP response.
Please note that in AOLserver 4.5 the API for ns_http has been enhanced, please see the section USAGE IN AOLSERVER 4.5 below.
EXAMPLES
Valid HTTP GET:
% set id [ns_http queue GET http://aolserver.com/] http0 % set status [ns_http wait $id results] 1 % string range $results 0 60 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN
Timed out HTTP GET:
% set id [ns_http queue GET http://aolserver.com:12345/] http0 % set status [ns_http wait $id results 0] 0 % set results timeout
Bogus HTTP GET:
% catch {ns_http queue GET http://nonexistant.domain/} err 1 % set err could not connect to : http://nonexistant.domain/
USAGE IN AOLSERVER 4.5
In AOLserver 4.5 the ns_http command has been enhanced. Currently only ns_http queue and ns_http wait are documented. If you have documentation for ns_http cancel and ns_http cleanup please add it to this section.
DESCRIPTION
- timeout is the timeout for the request, method is the method for the request, body is the body to be sent with the request and headers is an ns_set containing headers to be sent with the request.
- ns_http queue ?-timeout timeout? ?-method method? ?-body body? ?-headers headers? url
- resultVar is the variable into which the body of the response is to be set, elapsedVar is a variable into which the elapsed time for the request is set, headersVar is an ns_set into which the response headers are set and statusVar is a variable into which the status line of the response is set.
- ns_http wait -result resultVar ?-elapsed elapsedVar? ?-headers headersVar? ?-status statusVar? id
EXAMPLE
set timeout 30 set method GET set body "" set outputheaders [ns_set create outputheaders] set headersVar [ns_set create headersVar] set url http://www.aolserver.com/ set id [ns_http queue -timeout $timeout -method $method -body $body -headers $outputheaders $url] set status [ns_http wait -elapsed elapsedVar -result resultVar -headers $headersVar -status statusVar $id]
SEE ALSO