Esempio n. 1
0
int doreq(void)
{
	int zap;
	char *ptr;

	zap = AJK_sockwrite(sock, uri, strlen(uri));
	if(zap > -1) {
		sprintf(uri, "User-Agent: %s/%s (AJKstack/%s, %s, %s)\n\n", PROGRAM, VERSION, STACK_IS, OS, CPU);
		zap = AJK_sockwrite(sock, uri, strlen(uri));
	}
	if(zap > -1) {
		zap = grabline();
	}
	if(zap > -1) {
		/* check the result, we must see a 200 here */
		ptr = uri;
		while(*ptr != ' ') ptr++;
		ptr++;
		zap = -1;
		if(*ptr == '2') {
			ptr++;
			if(*ptr == '0') {
				ptr++;
				if(*ptr == '0') {
					printf("%s\n", uri);
					zap = grabfile();
				}
			}
		}
	}
	return(zap);
}
Esempio n. 2
0
struct mimeheader_t parse_chunk_headers(char *chunk){
    struct mimeheader_t header = {0,0,0,0};
    while(*chunk){
        char *line = grabline(&chunk);
        if (!line){
            break;
        } else if (*line == '\0'){
            header.datap = line + strlen("\r\n");
            break;
        } else if (startswithcase(line, "content-disposition:")){
            line += strlen("content-disposition:");
            if (*line == ' '){
                line++;
            }
            extract_content_disposition(line, &header);
        }
    }
    return header;
}
Esempio n. 3
0
int grabfile()
{
	int zap;
	int i;
	FILE *dl;

	zap = -1;
	i = 1;

	while(strlen(uri)) {
		zap = grabline();
		if(zap < 0) break;
	}
	if(zap > -1) {
		/* read in file and save it */
		dl = fopen(local, "wb");
		if(!dl) {
			zap = -1;
			perror(local);
		} else {

			while(i > -1) {
				i = sockread(sock, uri, 96);
				if(i > 0) {
					printf(".");
					fflush(stdout);
					zap = fwrite(uri, 1, i, dl);
					if(zap < 0) break;
				}
			}
			fclose(dl);
			if(zap > -1) {
				printf("Done\n");
			}
		}
	}

	return(zap);
}