We will now implement an HTTP web client. This client takes as input a URL. It then attempts to connect to the host and retrieve the resource given by the URL. The program displays the HTTP headers that are sent and received, and it attempts to parse out the requested resource content from the HTTP response.
Our program begins by including the chapter header, chap06.h:
/*web_get.c*/
#include "chap06.h"
We then define a constant, TIMEOUT. Later in our program, if an HTTP response is taking more than TIMEOUT seconds to complete, then our program abandons the request. You can define TIMEOUT as you like, but we give it a value of five seconds here:
/*web_get.c continued*/
#define TIMEOUT 5.0
Now, please include the entire parse_url() function as given in the previous section. Our client needs parse_url() to find the hostname, port...