Как написать клиент протокола HTTP только с методами GET и POST на C или C++
Итак, мой вопрос: как написать клиент протокола http только с методами GET и POST на C или C++. Спасибо за ответ
2 ответа
Я рекомендую вам использовать libcurl. Если вы хотите реализовать собственную клиентскую библиотеку http, вы можете создать ее поверх Boost ASIO. Обе библиотеки прекрасно работают на платформах Linux и Windows.
Немного зависит от уровня здравомыслия, которое вы ожидаете испытать в непредвиденном будущем.
Разумным / куриным выходом было бы использование библиотеки. Безумным / забавным способом было бы написать это с нуля. Под этим я подразумеваю, что (должно быть) писать очень весело, но в то же время существует множество библиотек. Конечно, в образовательных целях увлекательный способ абсолютно выполним, и благодаря сообществу RFC во многом приятная задача.
- Изучай розетки.
- Прочитайте спецификации HTTP 0.9 и HTTP 1.0 (RFC 1945) для развлечения.
- Прочитайте, перечитайте, перечитайте и внедрите HTTP 1.1 (RFC 2616).
Какие части стандарта реализовать для выполнения только методов GET и POST лучше всего узнать, прочитав RFC. Короче - это много.
- Правильно отформатируйте запрос-URI.
- Правильно обрабатывать различные параметры запроса, такие как If-*, Range и т. Д.
- Правильно обрабатывать перенаправления и т. Д.
- Правильно обрабатывать даты, сжатие, фрагментированные сообщения, сообщения об активности, коды состояния,…
- … В конце большая часть стандарта покрыта.