File:  [ELWIX - Embedded LightWeight unIX -] / libaitwww / example / test_url.c
Revision 1.2.6.2: download - view: text, annotated - select for diffs - revision graph
Mon Aug 6 11:26:23 2012 UTC (11 years, 10 months ago) by misho
Branches: www1_4
Diff to: branchpoint 1.2: preferred, colored
extend api

/*
 * Test URL API
 *
 * ./test_url "http://www.elwix.org/test/mda%20a+b%20+cc.dat?ole=ss%65ss&aaa=a++a&sg=V&sgg=VV&piuk=pi3.14&vv=Mishka&z=z&sfsf=fd"
 */
#include <stdio.h>
#include <string.h>
#include <aitwww.h>


int main(int argc, char **argv)
{
	struct tagIOURL URL;
	int ret = 0;
	char szVal[BUFSIZ];
	cgi_t *cgi;

	if (argc > 1) {
		printf("URL:: Return=%x --- URL=%s\n", (ret = www_URLGet(argv[1], &URL)), argv[1]);

		printf("URL:: (%x) ***Line=%s\n", ret, URL.url_line);
		printf("URL:: (%x) tech=%s(%d)\n", ret & 1, URL.url_tech.value, URL.url_tech.vallen);
		printf("URL:: (%x) user=%s(%d)\n", ret & 2, URL.url_user.value, URL.url_user.vallen);
		printf("URL:: (%x) pass=%s(%d)\n", ret & 4, URL.url_pass.value, URL.url_pass.vallen);
		printf("URL:: (%x) host=%s(%d)\n", ret & 8, URL.url_host.value, URL.url_host.vallen);
		printf("URL:: (%x) port=%s(%d)\n", ret & 16, URL.url_port.value, URL.url_port.vallen);
		printf("URL:: (%x) path=%s(%d)\n", ret & 32, URL.url_path.value, URL.url_path.vallen);
		printf("URL:: (%x) args=%s(%d)\n", ret & 64, URL.url_args.value, URL.url_args.vallen);
		printf("URL:: (%x) +++reserved=%s\n", ret & 128, URL.url_reserved);

		www_unescape(URL.url_path.value);
		printf("Path:: %s validated %d\n", URL.url_path.value, 
				www_undot(URL.url_path.value, URL.url_path.vallen));

		memset(szVal, 0, BUFSIZ);
		cgi = www_parseQuery(URL.url_args.value);
		printf("Get_url:: %s Attribute=piuk\n", www_getValue(cgi, "piuk"));
		printf("Get_url:: %s Attribute=sg\n", www_getValue(cgi, "sg"));
		printf("Get_url:: %s Attribute=sgg\n", www_getValue(cgi, "sgg"));
		printf("Get_url:: %s Attribute=sfsf\n", www_getValue(cgi, "sfsf"));
		printf("Get_url:: %s Attribute=vv\n", www_getValue(cgi, "vv"));
		printf("Get_url:: %s Attribute=vv\n", www_getValue(cgi, "vv"));
		www_closeCGI(&cgi);

		printf("File_url:: File=%s %d\n", szVal, www_URLGetFile(&URL, szVal, BUFSIZ));
	}

	return 0;
}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>