Почему мой C http запрос вызывает недопустимую инструкцию: 4 - PullRequest
0 голосов
/ 25 марта 2020

Я хочу сделать HTTP-запрос в C с использованием сокетов, поэтому посмотрите на следующий код:

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>


int main(int argc, char* argv[]) {
 //create the socket
 int network_socket;
 network_socket = socket(AF_INET, SOCK_STREAM, 0);

 //specify an address for the socket
 struct sockaddr_in server_address;
 server_address.sin_family = AF_INET;
 server_address.sin_port = htons(80);
 inet_pton(AF_INET, argv[1], &server_address.sin_addr);


 //connect
 int connection_status = connect(network_socket, (struct sockaddr *) &server_address, sizeof(server_address));
 if (connection_status == -1) {
  printf("There was an error making a connection to the remote socket\n\n");
 }

 //send information
 char message[14];
 strcpy(message , "GET http://matr.fr/v7 HTTP/1.1\r\n");
 send(network_socket, message, sizeof(message), 0);

 //receive information
 char server_response[2048];
 memset(server_response, '0',sizeof(server_response));
 int size = recv(network_socket, &server_response, sizeof(server_response), 0);

 //print the size
 printf("size is %d\n\n", size);

 //print the data
 printf("The server sent the response : %s\n", server_response);

 //close the socket
 close(network_socket);

 return 0;
}

Когда я запускаю программу

. / A. out "91.238.72.69"

У меня есть незаконное указание. Но я хочу HTML содержание страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...