/* Copyright 2001 2002 Debajyoti Bera */ /* This file is part of mGet. * mGet is free Software; please refer to COPYING for terms and conditions */ #include "http_connect.h" int do_http_CONNECT(SOCKET s){ int ret; char version[10]={0}, buffer[LENGTH], *request_string; int status_code; //make the request string to send http CONNECT request_string=(char *)calloc(sizeof(char), strlen(CONNECT_STR) + strlen(host_name) + 5 /*port*/ + strlen(user_passwd)); sprintf(request_string, CONNECT_STR, host_name, port, user_passwd); DEBUGPRINT(fprintf(outfile, "CONNECT request sent =>\n%s\n", request_string)) ret=send(s, request_string, strlen(request_string), 0); memset(buffer, '\0', LENGTH); ret=recv(s, buffer, LENGTH-1, 0); if(ret<0) err_exit("Receive error", 1, s); buffer[ret]='\0'; strncpy(error_buffer, buffer, 1023); DEBUGPRINT(fprintf(outfile, "CONNECT response:%s\n", buffer)) _process_status_line(buffer, version, &status_code); DEBUGPRINT(fprintf(outfile,"HTTP CONNECT: version=%s status code=%d\n", version, status_code)) return status_code; };