Difference between revisions of "Ns http"
Jump to navigation
Jump to search
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | + | <manpage>ns_http</manpage> | |
− | |||
− | |||
− | |||
− | |||
'''NAME''' | '''NAME''' | ||
Line 18: | Line 14: | ||
: The legal ''option''s (which may be abbreviated) are: | : The legal ''option''s (which may be abbreviated) are: | ||
− | * '''ns_http cancel''' ''id'' | + | :* '''ns_http cancel''' ''id'' |
− | * '''ns_http cleanup''' | + | :* '''ns_http cleanup''' |
− | * '''ns_http queue''' ''method url ?body? ?headers?'' | + | :* '''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. | : ''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?'' | + | :* '''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. | : ''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 31: | Line 29: | ||
Valid HTTP GET: | Valid HTTP GET: | ||
− | % set id | + | <pre> |
+ | % set id [ns_http queue GET http://aolserver.com/] | ||
http0 | http0 | ||
− | % set status | + | % set status [ns_http wait $id results] |
1 | 1 | ||
% string range $results 0 60 | % string range $results 0 60 | ||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN | ||
+ | </pre> | ||
Timed out HTTP GET: | Timed out HTTP GET: | ||
− | % set id | + | <pre> |
+ | % set id [ns_http queue GET http://aolserver.com:12345/] | ||
http0 | http0 | ||
− | % set status | + | % set status [ns_http wait $id results 0] |
0 | 0 | ||
% set results | % set results | ||
timeout | timeout | ||
+ | </pre> | ||
Bogus HTTP GET: | Bogus HTTP GET: | ||
+ | <pre> | ||
% catch {ns_http queue GET http://nonexistant.domain/} err | % catch {ns_http queue GET http://nonexistant.domain/} err | ||
1 | 1 | ||
% 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> | ||
'''SEE ALSO''' | '''SEE ALSO''' | ||
− | + | : [[ns_httpopen]] | |
+ | |||
− | [[Category | + | [[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