Ответ 1
Был более года, поэтому я думаю, что я закрою это как "вручную". Или:
Если у вас проблемы cURL, я плохо себя чувствую для вас, сын,
У вас есть многострочные заголовки и нужно разобрать каждый.
Я оглядывался и очень удивляюсь, что, похоже, нет средств, с помощью которых можно разобрать заголовки в основном в libcurl (который, кажется, является канонической библиотекой C для http в эти дни).
Ближайшая вещь, которую я нашел, - это список рассылки, в котором кто-то предложил кому-то еще искать в архивах списков рассылки.
Единственным средством, предоставляемым libcurl через setopt, является CURLOPT_HEADERFUNCTION
, который будет подавать ответы заголовка по одной строке за раз.
Это кажется слишком примитивным, учитывая, что заголовки могут охватывать несколько строк. В идеале это следует делать правильно (желательно самой библиотекой) и не оставлять разработчикам приложений постоянно изобретать.
Edit
Пример наивной вещи не работает, см. следующий пример с примером кода libcurl и правильно сформированным HTTP-ответом, который он не может проанализировать: < а2 >
Был более года, поэтому я думаю, что я закрою это как "вручную". Или:
Если у вас проблемы cURL, я плохо себя чувствую для вас, сын,
У вас есть многострочные заголовки и нужно разобрать каждый.
libcurl считывает весь заголовок и отправляет его как одну полную строку для обратного вызова.
"Продолжение" Заголовки HTTP-заголовков в семействе HTTP 1.1 RFC 7230 не разрешены, и до этого они практически исчезли.