2009-10-02 4 views

ответ

4

Вы ссылаетесь на RFC 1867 (то есть, что браузер отправляет, когда пользователь отправляет HTML-форму, содержащую поле ввода с типом = "файл")?

Если это случай, возможно, вас заинтересует http://curl.haxx.se/libcurl/c/postit2.html

-1

Из документации here:

При использовании «простой» интерфейс Libcurl ты инициализировать сеанс и получить ручку (часто упоминается как «простая ручка»), которую вы используете для ввода удобных функций интерфейса, которые вы используете. Используйте curl_easy_init, чтобы получить ручку.

Вы продолжаете установку всех необходимых параметров в предстоящей передаче, наиболее важным из них является сам URL (вы не можете передавать что-либо без указанного URL-адреса, как вы, возможно, выяснили сами). Возможно, вы захотите также установить некоторые обратные вызовы, которые будут вызваны из библиотеки, когда будут доступны данные и т. Д. curl_easy_setopt используется для всего этого.

Когда все настроено, вы указываете libcurl выполнить передачу, используя curl_easy_perform. Затем он выполнит всю операцию и не вернется, пока это не будет выполнено (успешно или нет).

После того, как была произведена передача, вы можете установить новые параметры и выполнить другую передачу или, если вы закончите, очистить сеанс, вызвав curl_easy_cleanup. Если вам нужны постоянные соединения, вы не очищаете их немедленно, а вместо этого выполняете другие операции и выполняете другие передачи с использованием того же простого дескриптора.

Так это выглядит, как вам нужно вызвать:

  1. curl_easy_init (инициализировать локон сеанс)
  2. curl_easy_setopt (настройка параметров сеанса)
  3. curl_easy_perform (выполнить скручивание)
  4. curl_easy_cleanup (удалить сессию)

Учитывая, что это API-интерфейсы C, у вас не должно возникнуть проблемы с их вызовом в исходном файле на C++.

Смежные вопросы