Это не задача и не работа, сам себе поставил задачу для среза умения, как сделать мини браузер в консоле, не прибегая к стороннему по а онли язык Си. Должно же быть простое решение забыл или пробел какой или поток какой другой у меня не хватает опыта пробить эту страницу, опишу в кратце tcpdump показывает прогруз в тот момент когда я запускаю программку прогруз как браузер, но в консоле выводится только ответ с сервера и страницу которая прогружается не вижу. Вобщем задача выполнена ответы есть. а обидно что нету страниц, да и что этот либ курл тоже написан на такой же теме скорее всего.
char get[]="GET HTTP/1.1\r\n"
"Host: \r\n"
"User-Agent: Mozilla/5.0(X11;Linuxx86_64;en,ru;rv:17.0)Gecko/20100101Firefox/17.0\r\n"
"Accept: text/html,application/json,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*;q=0.1\r\n"
"Accept-Language: ru;q=0.50\r\n"
"Accept-Encoding: gzip,deflate,compress;q=0.9\r\n"
"Accept-Charset: ISO-8859-1,utf-8;q=0.66,*;q=0.66\r\n"
"Connection: close\r\n\r\n";
char *geta;
char *host;
g=strlen(argv[2]);
p = strlen (get);
host=(char*) malloc(g * sizeof(char));
char *name;
name=(char*) calloc (strlen(argv[2]),sizeof(char));
geta = (char*) calloc (strlen(argv[2]),sizeof(char));
host = argv[2];
int i = 0;
int l = 0,m=0;
while ( host[i] != '\0')
{
name[i]=host[i];
m++;
i++;
if (host[i] == '/')
{
while ( host[i] != '\0' )
{
geta [l] = host [i];
i++;
l++;
}
}
}
if((server = gethostbyname(name))== 0)
{
return -1;
}
//\n",geta);//"Content-Type:application/x-www-form-urlencoded\r\n";
//printf("server %s",server);/char post[]="POST /login HTTP/1.1\r\n\r\nHost: vk.com\rUser-Agent: Mozilla/5.0 (X11; U; Linux i686; ru_RU; rv:1.1b) Gecko/20020722\rAccept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain ;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1//\rAccept-Language: ru ;q=0.50\rAccept-Encoding: gzip, deflate, compress;q=0.9\rAccept-Charset: utf-8 ;q=0.66, *;q=0.66\rKeep-Alive: 300\rConnection: keep-alive\rContent-Type: application/x-www-form-urlencoded\rContent-Length: 1234\r\n\r\nusername=weringovai@gmail.com&color=%00FF00";
char rty[strlen(get)+strlen(argv[2])];
if(strlen(geta) == 0)
{
sprintf(rty,"GET / HTTP/1.1\r\n"
"Host: %s\r\n"
"User-Agent: Mozilla/5.0(X11;Linuxx86_64;en,ru;rv:17.0)Gecko/20100101Firefox/17.0\r\n"
"Accept: text/html,application/json,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*;q=0.1\r\n"
"Accept-Language: ru;q=0.50\r\n"
"Accept-Encoding: gzip,deflate,compress;q=0.9\r\n"
"Accept-Charset: ISO-8859-1,utf-8;q=0.66,*;q=0.66\r\n"
"Connection: close\r\n\r\n",name);
}
if(strlen(geta) > 0)
{
sprintf(rty,"GET %s HTTP/1.1\r\n"
"Host: %s\r\n"
"User-Agent: Mozilla/5.0(X11;Linuxx86_64;en,ru;rv:17.0)Gecko/20100101Firefox/17.0\r\n"
"Accept: text/html,application/json,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*;q=0.1\r\n"
"Accept-Language: ru;q=0.50\r\n"
"Accept-Encoding: gzip,deflate,compress;q=0.9\r\n"
"Accept-Charset: ISO-8859-1,utf-8;q=0.66,*;q=0.66\r\n"
"Connection: close\r\n\r\n",geta,name);
}