]> git.ipfire.org Git - thirdparty/cups.git/blob - cups/testhttp.c
Y2k copyright changes.
[thirdparty/cups.git] / cups / testhttp.c
1 /*
2 * "$Id: testhttp.c,v 1.8 2000/01/04 13:45:37 mike Exp $"
3 *
4 * HTTP test program for the Common UNIX Printing System (CUPS).
5 *
6 * Copyright 1997-2000 by Easy Software Products.
7 *
8 * These coded instructions, statements, and computer programs are the
9 * property of Easy Software Products and are protected by Federal
10 * copyright law. Distribution and use rights are outlined in the file
11 * "LICENSE.txt" which should have been included with this file. If this
12 * file is missing or damaged please contact Easy Software Products
13 * at:
14 *
15 * Attn: CUPS Licensing Information
16 * Easy Software Products
17 * 44141 Airport View Drive, Suite 204
18 * Hollywood, Maryland 20636-3111 USA
19 *
20 * Voice: (301) 373-9603
21 * EMail: cups-info@cups.org
22 * WWW: http://www.cups.org
23 *
24 * Contents:
25 *
26 * main() - Main entry.
27 */
28
29 /*
30 * Include necessary headers...
31 */
32
33 #include <stdio.h>
34 #include "http.h"
35
36
37 /*
38 * 'main()' - Main entry.
39 */
40
41 int /* O - Exit status */
42 main(int argc, /* I - Number of command-line arguments */
43 char *argv[]) /* I - Command-line arguments */
44 {
45 int i; /* Looping var */
46 http_t *http; /* HTTP connection */
47 http_status_t status; /* Status of GET command */
48 char buffer[1024]; /* Input buffer */
49 int bytes; /* Number of bytes read */
50 FILE *out; /* Output file */
51
52 #define HOST "dns.easysw.com"
53 #define PORT 80
54
55 puts("Connecting to " HOST "...");
56
57 httpInitialize();
58 http = httpConnect(HOST, PORT);
59 if (http == NULL)
60 {
61 puts("Unable to connect to " HOST "!");
62 return (1);
63 }
64
65 puts("Connected to " HOST "...");
66
67 out = stdout;
68
69 for (i = 1; i < argc; i ++)
70 {
71 if (strcmp(argv[i], "-o") == 0)
72 {
73 i ++;
74 out = fopen(argv[i], "wb");
75 continue;
76 }
77
78 printf("Requesting file \"%s\"...\n", argv[i]);
79 httpClearFields(http);
80 httpSetField(http, HTTP_FIELD_ACCEPT_LANGUAGE, "en");
81 httpGet(http, argv[i]);
82 status = httpUpdate(http);
83
84 if (status == HTTP_OK)
85 puts("GET OK:");
86 else
87 printf("GET failed with status %d...\n", status);
88
89 while ((bytes = httpRead(http, buffer, sizeof(buffer))) > 0)
90 {
91 fwrite(buffer, bytes, 1, out);
92 if (out != stdout)
93 printf("Read %d bytes, %d total...\n", bytes, ftell(out));
94 }
95 }
96
97 puts("Closing connection to server...");
98 httpClose(http);
99
100 if (out != stdout)
101 fclose(out);
102
103 return (0);
104 }
105
106
107 /*
108 * End of "$Id: testhttp.c,v 1.8 2000/01/04 13:45:37 mike Exp $".
109 */