ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
9 ноября
1611290 Топик полностью
Samx (Сегодня, 18:23, просмотров: 23) ответил Лaгyнoв на любопытно. Ну вот установил соединение ТСР как клиент. И послал текст типа - http.... ну то есть полную строку. И на той стороне сервер должен это разобрать и куда надо сформировать?
Нуда, вот POST-запрос: 

strcpy(Str1024,"POST / HTTP/1.0\r\n");

strcat(Str1024,"Accept-Type: text/plain\r\n");

strcat(Str1024,"Accept-Encoding: identity\r\n");

strcat(Str1024,"Content-Type: application/octet-stream\r\n");

sprintf(Str1024+strlen(Str1024),"Content-Length: %d\r\n\r\n",strlen(out));

strcat(Str1024,out);

Ждем ответ:

int len;

int full_len=0;

int rez;

for(int k=0;k<20;k++)

{

len=0;

rez=SockW.Receive((char*)(Str1024+full_len),1020-full_len,2000,len);

if(rez) break;

if(len<0) break; // не может быть

full_len+=len;

Str1024[full_len]=0;

if(full_len>1015) break;

if(strstr(Str1024,"\r\n\r\n")!=NULL) break; // прочитали конец заголовка

Sleep(100);

}

Проверяем ответ:

int CheckHttpCode(char *str)

// возвращаед код ответа или <0 , если не найден

{

//HTTP/1.0 200 OK

char *p=strstr(str,"HTTP/");

if(p==NULL) return -1;

p+=5;

while(((*p)&255)>' ') p++;

// пробел или меньше

char sym= *p;

if((sym!='\t') && (sym!=' ')) return -2;

p++;

int code= atoi(p);

return code;

}

//--------------------------------------