Как скрыть вывод curl_easy_perform (в оболочке)?
Это касается приложения C.hide curl_easy_perform
ответ
Установите CURLOPT_WRITEFUNCTION
и/или CURLOPT_WRITEDATA
опции:
FILE *f = fopen("target.txt", "wb");
curl_easy_setopt(handle, CURLOPT_WRITEDATA, f);
По умолчанию Libcurl пишет вывод stdout
. Когда вы переопределяете это (это то, что почти любое приложение будет делать), он будет записывать в другой файл или передавать куски вывода на обратный вызов. Для получения дополнительной информации см. Документацию для CURLOPT_WRITEFUNCTION
.
Спасибо, но я это знаю. Нет пути без «отклонения» вывода (способ его удаления)? – stdio
@stdio - Если вы просто хотите, чтобы вход уходил, откройте устройство NULL и распечатайте все. –
@Tm Сообщение: вы имеете в виду/dev/null? если вы имеете в виду это, код не будет мультиплатформенным. – stdio
Как Joey said, CURLOPT_WRITEFUNCTION
позволит полностью игнорировать все выходные данные. Просто настройте обратный вызов, который абсолютно ничего не делает, если вы хотите, чтобы данные просто уходили, не записываясь ни в какой дескриптор файла.
Например,
/* Never writes anything, just returns the size presented */
size_t my_dummy_write(char *ptr, size_t size, size_t nmemb, void *userdata)
{
return size * nmemb;
}
Тогда в ваших вариантах:
curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, &my_dummy_write);
Или, точка дескриптор файла на устройстве NULL (намного проще).
Использовать CURLOPT_NOBODY в curl_easy_setopt(). Пример:
...
CURL *curl;
CURLcode statusCode;
curl = curl_easy_init();
if(curl){
curl_easy_setopt(curl, CURLOPT_URL, "http://www.google.com/");
//CURLOPT_NOBODY does the trick
curl_easy_setopt(curl, CURLOPT_NOBODY, 1);
curl_easy_perform(curl);
...
Ссылка на документы: http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTNOBODY
Я хотел войти на страницу https: // user: [email protected]/login/, а затем использовать curl для POST на https://www.example.com/upload/, но с CURLOPT_NOBODY Я теряю сессию -Я бы. Я решил это, написав nul –
. Правильно ли я полагаю, что это полезно для запросов POST, но, вероятно, не так для GET? – xtofl
для POST-запросов, это просто не посылает тело, то есть это не то, что вы ожидаете. – xtofl
- 1. Получение данных после curl_easy_perform
- 2. Трубные данные curl_easy_perform
- 3. curl_easy_perform с POST ждет EOF
- 4. Где исходный код для curl_easy_perform() в libcurl?
- 5. ошибка Libcurl, curl_easy_perform() не удалось: с ++
- 6. Отменить curl_easy_perform, пока он пытается подключиться
- 7. curl_easy_perform возвращает частичные результаты после точки
- 8. curl_easy_perform: Не удалось разрешить имя хоста
- 9. libcurl на Windows CE - curl_easy_perform (...) не возвращается
- 10. необработанное исключение с помощью Curl (curl_easy_perform)
- 11. Проблема libcurl с получением данных от curl_easy_perform()
- 12. Является ли curl_easy_perform() синхронным или асинхронным?
- 13. curl_easy_perform возвращает -1, когда сервер недоступен
- 14. Haxe program hide hide
- 15. hide element on click hide element
- 16. getSupportActionBar(). Hide(); работает, но getActionBar(). hide(); не
- 17. onclick div hide, setTimeout div hide
- 18. Highcharts date tick position hide hide
- 19. Ошибка curl_easy_perform(): не удалось загрузить FTP (команда STOR)
- 20. libcurl curl_easy_perform() сбрасывает программу при перемещении внутри функции
- 21. с использованием Libcurl curl_easy_perform пост, пробела и точка заменяются подчеркиваниями
- 22. curl_easy_perform в C++ останавливает таймер, используемый для чего-то другого.
- 23. Libcurl: ошибка сегментирования на curl_easy_perform когда WriteMemoryCallback используется
- 24. hide Toast
- 25. Javascript hide()
- 26. Hide/Show yaxis on series hide/show event
- 27. Скрытый интерфейс hide hide() Функция скрывает также growl
- 28. Что такое ng-hide-add, ng-hide-active
- 29. fadeIn() не работает после hide(), hide() не достигает .done()
- 30. jquery hide/show hide content when open page
, что вы имеете в виду скрыть? – hhafez
Curl_easy_perform печатает содержимое страницы, возвращенное в ответ на запрос (почтовый запрос в моем случае). Я хочу «скрыть» содержимое этой страницы (без просмотра) и напечатать мое личное сообщение – stdio