Remove debug prints from cs and csquery
[akaros.git] / tests / get_html.c
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <string.h>
4 #include <unistd.h>
5 #include <assert.h>
6 #include <net.h>
7
8 /* simple test, gets a single web page.  no url parsing, no timeout detection,
9  * etc.  pass it the IP addr and page to fetch.
10  *
11  * check out http://www.d.umn.edu/~gshute/net/http-script.html for some info. */
12 int main(int argc, char *argv[])
13 {
14         char *host, *page;
15         int dfd, ret;
16         char buf[128];
17         char addr[256];
18         if (argc != 3) {
19                 printf("Usage: %s HOST PAGE\n", argv[0]);
20                 host = "128.32.37.180";
21                 page = "files/test.html";
22         } else {
23                 host = argv[1];
24                 page = argv[2];
25         }
26         printf("Trying to access http://%s/%s\n", host, page);
27         /* manually making our own addr (no mkaddr, which was racy anyway) */
28         ret = snprintf(addr, sizeof(addr), "tcp!%s!%s", host, "80");
29         if (snprintf_overflow(ret, addr, sizeof(addr))) {
30                 perror("Addr string too long");
31                 exit(-1);
32         }
33         dfd = dial(addr, 0, 0, 0);
34         if (dfd < 0) {
35                 perror("Bad Data FD");
36                 exit(-1);
37         }
38         /* short get style */
39         snprintf(buf, sizeof(buf), "GET /%s\n\n", page);
40         ret = write(dfd, buf, strlen(buf));
41         if (ret < 0) {
42                 perror("Write");
43                 exit(-1);
44         }
45         /* buf - 1, to leave room for a \0 when we print */
46         while ((ret = read(dfd, buf, sizeof(buf) - 1)) > 0) {
47                 assert(ret < sizeof(buf));
48                 /* trim to print only what we received */
49                 buf[ret] = 0;
50                 printf("%s", buf);
51         }
52 }