/* * 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 #include #include int main(int argc, char **argv) { struct tagIOURL URL; int ret = 0; char szVal[BUFSIZ]; cgi_t *cgi; ait_val_t *v; 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); v = www_undot(URL.url_path.value); printf("Path:: '%s' -> ", URL.url_path.value); printf("validated %s ", v ? "YES" : "NO"); if (v) printf("'%s'", AIT_GET_STR(v)); printf("\n"); io_freeVar(&v); 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; }