Я пытаюсь сделать HTTP-запрос GET, но я получаю ошибку с ошибкой из моего recv (). Может ли кто-нибудь помочь с этим?
Код:
#include <stdio.h>
#include <winsock2.h>
int main(){
WSADATA wsa;
WSAStartup(MAKEWORD(2,0),&wsa);
int sock;
struct sockaddr_in server_address;
server_address.sin_family = AF_INET;
server_address.sin_port = htons(80);
server_address.sin_addr.s_addr = inet_addr("216.58.202.14");
sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
char *response,*header;
header="GET / HTTP/1.1\r\nhost: www.youtube.com\r\n\r\n";
response="";
int connection = connect(sock,(struct sockaddr*) &server_address,sizeof(server_address));
if(connection!=0){
printf("error");
return 1;
} else {
if(send(sock,header,sizeof(header),0)<0) return 0;
printf("Sent\n");
if(recv(sock,response,sizeof(response),0)<0) return 0;
printf("Recved\n");
printf("response:\n%s",response);
}
return 0;
}
Выход:
Sent
г cc:
gcc clientHTTP.c -o clientHTTP.exe -l Ws2_32