HttpOpenRequest
принимает заголовок http accept в очень странном формате. Можно ли игнорировать этот параметр и добавить обычный заголовок accept с HttpAddRequestHeaders
?HttpOpenRequest и принять заголовок
hfile = HttpOpenRequest(hLastConnection, 'GET', '/path', NULL, NULL, NULL, INTERNET_FLAG_RELOAD | INTERNET_FLAG_KEEP_CONNECTION, 0);
HttpAddRequestHeaders(hfile,'Accept: foobar', 14, HTTP_ADDREQ_FLAG_REPLACE or HTTP_ADDREQ_FLAG_ADD);
Это действительно работает (в WINE), но кажется недокументированным.
Аналогично, как обстоят дела с контентом и реферированием?
Ну, у меня уже есть список всех отформатированных заголовков. Было бы странно искать 'accept' в этом списке и отключать его, просто чтобы HttpOpenRequest снова объединил его. Пример фрагмента кода, который я начал использовать, использовал параметр заголовка 'HttpSendRequest' для установки Content-Type. Так что это то же самое, что и «HttpAddRequestHeaders»? Btw, если только один заголовок задан с помощью 'HttpAddRequestHeaders', нет причин для прекращения строки CRLF, есть ли? – BeniBela
Вы можете использовать 'HttpAddRequestHeaders()' или 'HttpSendRequest()' для указания дополнительных заголовков по мере необходимости, но в обоих случаях каждому отдельному заголовку нужен CRLF в конце его. –
Но не на последнем заголовке, или? Потому что я никогда не использовал CRLF, и это сработало. (Мысль о том, чтобы изменить его, чтобы иметь CRLF ", но никогда не изменяйте запущенную систему") – BeniBela