Реализация Java getResponseCode () на C?

Если это поможет, то в C# WebRequest есть аналогичный класс. Хотя я не хочу этого в java или .NET, мне интересно, как реализовать это в собственном коде C / C++ (для Windows).

для справки:

try {

URL url=new URL("http://google.ca");
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.connect();
int code = con.getResponseCode();
System.out.println(code);

} catch (MalformedURLException e) {
System.err.println("Error reading URL.");
}

распечатывает:

200

что означает "ОК"

Я понимаю, что мне, вероятно, нужно использовать сокеты и отправить строку User-Agent, но я не знаю, с чего начать. Всякий раз, когда я изучаю новый язык, первое, что мне нравится делать, - это пытаться перенести на него свой код, но этот меня поставил в тупик.

Любая помощь приветствуется

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
343
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В стандартной библиотеке C. Нет поддержки HTTP.

Итак, у вас есть два варианта - использовать стороннюю библиотеку HTTP, например ar libcurl, или обрабатывать HTTP самостоятельно:

  • открытая розетка
  • разрешить имя хоста
  • подключиться к серверу
  • построить HTTP-запрос
  • отправить запрос на сервер
  • получить ответ HTTP
  • проанализировать ответ и получить от него код ответа.

Другие вопросы по теме