111 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| <testcase>
 | |
| <info>
 | |
| <keywords>
 | |
| HTTP
 | |
| HTTP GET
 | |
| --libcurl
 | |
| </keywords>
 | |
| </info>
 | |
| 
 | |
| # Server-side
 | |
| <reply>
 | |
| <data>
 | |
| HTTP/1.1 200 OK
 | |
| Date: Thu, 29 Jul 2008 14:49:00 GMT
 | |
| Server: test-server/fake
 | |
| Content-Length: 0
 | |
| Connection: close
 | |
| 
 | |
| </data>
 | |
| </reply>
 | |
| 
 | |
| # Client-side
 | |
| <client>
 | |
| <server>
 | |
| http
 | |
| </server>
 | |
|  <name>
 | |
| --libcurl for simple HTTP GET
 | |
|  </name>
 | |
| <setenv>
 | |
| SSL_CERT_FILE=
 | |
| </setenv>
 | |
|  <command>
 | |
| http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --libcurl log/test%TESTNUMBER.c
 | |
| </command>
 | |
| </client>
 | |
| 
 | |
| # Verify data after the test has been "shot"
 | |
| <verify>
 | |
| <protocol>
 | |
| GET /we/want/%TESTNUMBER HTTP/1.1
 | |
| Host: %HOSTIP:%HTTPPORT
 | |
| User-Agent: curl/%VERSION
 | |
| Accept: */*
 | |
| 
 | |
| </protocol>
 | |
| <stripfile>
 | |
| s/(USERAGENT, \")[^\"]+/${1}stripped/
 | |
| # CURLOPT_SSL_VERIFYPEER, SSH_KNOWNHOSTS and HTTP_VERSION vary with
 | |
| # CURLOPT_INTERLEAVEDATA requires RTSP protocol
 | |
| # configurations - just ignore them
 | |
| $_ = '' if /CURLOPT_SSL_VERIFYPEER/
 | |
| $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
 | |
| $_ = '' if /CURLOPT_HTTP_VERSION/
 | |
| $_ = '' if /CURLOPT_HTTP09_ALLOWED/
 | |
| $_ = '' if /CURLOPT_INTERLEAVEDATA/
 | |
| </stripfile>
 | |
| <file name="log/test%TESTNUMBER.c" mode="text">
 | |
| /********* Sample code generated by the curl command line tool **********
 | |
|  * All curl_easy_setopt() options are documented at:
 | |
|  * https://curl.se/libcurl/c/curl_easy_setopt.html
 | |
|  ************************************************************************/
 | |
| #include <curl/curl.h>
 | |
| 
 | |
| int main(int argc, char *argv[])
 | |
| {
 | |
|   CURLcode ret;
 | |
|   CURL *hnd;
 | |
| 
 | |
|   hnd = curl_easy_init();
 | |
|   curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
 | |
|   curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER");
 | |
|   curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
 | |
|   curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
 | |
|   curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
 | |
| %if ftp
 | |
|   curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L);
 | |
| %endif
 | |
|   curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
 | |
| 
 | |
|   /* Here is a list of options the curl code used that cannot get generated
 | |
|      as source easily. You may choose to either not use them or implement
 | |
|      them yourself.
 | |
| 
 | |
|   CURLOPT_WRITEDATA set to a objectpointer
 | |
|   CURLOPT_WRITEFUNCTION set to a functionpointer
 | |
|   CURLOPT_READDATA set to a objectpointer
 | |
|   CURLOPT_READFUNCTION set to a functionpointer
 | |
|   CURLOPT_SEEKDATA set to a objectpointer
 | |
|   CURLOPT_SEEKFUNCTION set to a functionpointer
 | |
|   CURLOPT_ERRORBUFFER set to a objectpointer
 | |
|   CURLOPT_STDERR set to a objectpointer
 | |
|   CURLOPT_DEBUGFUNCTION set to a functionpointer
 | |
|   CURLOPT_DEBUGDATA set to a objectpointer
 | |
|   CURLOPT_HEADERFUNCTION set to a functionpointer
 | |
|   CURLOPT_HEADERDATA set to a objectpointer
 | |
| 
 | |
|   */
 | |
| 
 | |
|   ret = curl_easy_perform(hnd);
 | |
| 
 | |
|   curl_easy_cleanup(hnd);
 | |
|   hnd = NULL;
 | |
| 
 | |
|   return (int)ret;
 | |
| }
 | |
| /**** End of sample code ****/
 | |
| </file>
 | |
| </verify>
 | |
| </testcase>
 |