В строке
char *message = "GET HTTP/1.1\r\nHost: www.bbc.co.uk\r\n\r\n";
цель запроса отсутствует.
3.1.1. Строка запроса
Строка запроса начинается с токена метода, за которым следует один пробел (SP), цель-запрос, еще один пробел (SP), версия протокола и заканчивается CRLF.
request-line = method SP request-target SP HTTP-version CRLF
см. https://tools.ietf.org/html/rfc7230#section -3.1.1
Поэтому строка кода должна выглядеть следующим образом:
char* message = "GET / HTTP/1.1\r\nHost: www.bbc.co.uk\r\n\r\n";
Обратите внимание на /
после ПОЛУЧЕНИЯ.
Примечания стороны
nslookup www.bbc.co.uk
возвращает мне другой IP-адрес. Предположительно, IP-адрес для некоторых пользователей различен, возможно, в зависимости от их географического местоположения или систем балансировки нагрузки.
Когда программа выполняется, она возвращает код состояния HTTP 301, что означает
Код ответа о состоянии перенаправленного перманентно перенаправленного протокола 301 HTTP (HyperText Transfer Protocol) указывает, что запрошенный ресурс был окончательно перемещен в URL-адрес, указанный в заголовках Location.
см. https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301
Заголовок Location:
Location: https://www.bbc.co.uk/
Обратите внимание на протокол https
.
Таким образом, чтобы получить содержимое сайта BB C, вам нужно сделать запрос https. Вы, вероятно, хотите использовать библиотеку для этого, посмотрите, например, хороший ответ: { ссылка }