Annotation of embedaddon/miniupnpc/src/testminiwget.c, revision 1.1
1.1 ! misho 1: /* $Id: testminiwget.c,v 1.7 2018/01/16 01:01:05 nanard Exp $ */
! 2: /* vim: tabstop=4 shiftwidth=4 noexpandtab
! 3: * Project : miniupnp
! 4: * Author : Thomas Bernard
! 5: * Copyright (c) 2005-2018 Thomas Bernard
! 6: * This software is subject to the conditions detailed in the
! 7: * LICENCE file provided in this distribution.
! 8: * */
! 9: #include <stdio.h>
! 10: #include <stdlib.h>
! 11: #include "miniwget.h"
! 12:
! 13: /**
! 14: * This program uses the miniwget / miniwget_getaddr function
! 15: * from miniwget.c in order to retrieve a web ressource using
! 16: * a GET HTTP method, and store it in a file.
! 17: */
! 18: int main(int argc, char * * argv)
! 19: {
! 20: void * data;
! 21: int size, writtensize;
! 22: FILE *f;
! 23: char addr[64];
! 24: int status_code = -1;
! 25:
! 26: if(argc < 3) {
! 27: fprintf(stderr, "Usage:\t%s url file\n", argv[0]);
! 28: fprintf(stderr, "Example:\t%s http://www.google.com/ out.html\n", argv[0]);
! 29: return 1;
! 30: }
! 31: data = miniwget_getaddr(argv[1], &size, addr, sizeof(addr), 0, &status_code);
! 32: if(!data || (status_code != 200)) {
! 33: if(data) free(data);
! 34: fprintf(stderr, "Error %d fetching %s\n", status_code, argv[1]);
! 35: return 1;
! 36: }
! 37: printf("local address : %s\n", addr);
! 38: printf("got %d bytes\n", size);
! 39: f = fopen(argv[2], "wb");
! 40: if(!f) {
! 41: fprintf(stderr, "Cannot open file %s for writing\n", argv[2]);
! 42: free(data);
! 43: return 1;
! 44: }
! 45: writtensize = fwrite(data, 1, size, f);
! 46: if(writtensize != size) {
! 47: fprintf(stderr, "Could only write %d bytes out of %d to %s\n",
! 48: writtensize, size, argv[2]);
! 49: } else {
! 50: printf("%d bytes written to %s\n", writtensize, argv[2]);
! 51: }
! 52: fclose(f);
! 53: free(data);
! 54: return 0;
! 55: }
! 56:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>