blob: 04492457262a9d8fab47d681a37c970a00e11011 [file] [log] [blame]
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <assert.h>
#include <nixip.h>
/* simple test, gets a single web page. no url parsing, no timeout detection,
* etc. pass it the IP addr and page to fetch.
*
* check out http://www.d.umn.edu/~gshute/net/http-script.html for some info. */
int main(int argc, char *argv[])
{
char *host, *page, *addr;
int dfd, ret;
char buf[128];
if (argc != 3) {
printf("Usage: %s HOST PAGE\n", argv[0]);
host = "128.32.37.180";
page = "files/test.html";
} else {
host = argv[1];
page = argv[2];
}
printf("Trying to access http://%s/%s\n", host, page);
/* mkaddr/dial style */
addr = netmkaddr(host, "/net/tcp", "80");
dfd = dial(addr, 0, 0, 0);
if (dfd < 0) {
perror("Bad Data FD");
exit(-1);
}
/* short get style */
snprintf(buf, sizeof(buf), "GET /%s\n\n", page);
ret = write(dfd, buf, strlen(buf));
if (ret < 0) {
perror("Write");
exit(-1);
}
/* buf - 1, to leave room for a \0 when we print */
while ((ret = read(dfd, buf, sizeof(buf) - 1)) > 0) {
assert(ret < sizeof(buf));
/* trim to print only what we received */
buf[ret] = 0;
printf("%s", buf);
}
}