chilkat CkHttp c ++: нужно Content-Length = 0, используя глаголы PUT и DELETE - PullRequest
0 голосов
/ 17 января 2019

Я использую Chilkat 9.5.0.75 x86-vc10-sp1 (и тоже тестировал на 9.5.0.76). Мне нужно использовать веб-сервис, который требует Content-Length, заданный также для вызовов PUT и DELETE с пустым телом. Я прочитал это http://www.chilkatforum.com/questions/5485/need-content-length0-http-header-even-when-message-is-empty/5528 со старого форума, но у меня все еще есть проблема. Есть ли обходной путь? Вот так я делаю PUT-вызов

CkHttp http;
if (!http.UnlockComponent(CK_UNLOCKCODE)) return false;
http.put_SessionLogFilename("http.txt");
http.AddQuickHeader("X-Authorization", authToken);
http.AddQuickHeader("Accept", "application/json");

CkString os;
http.QuickPutStr(endpoint, os);
int res = http.get_LastStatus();

Спасибо за любой совет

1 Ответ

0 голосов
/ 18 января 2019

AddQuickHeader устарел, вместо него используйте SetRequestHeader.

Если вы явно зададите для Content-Length значение 0, это должно привести к добавлению в запрос заголовка «Content-Length: 0».


    http.SetRequestHeader("Content-Length","0");

Обычно вы никогда не устанавливаете заголовок Content-Length в явном виде, потому что Chilkat автоматически добавляет его (если он не равен нулю) на основе фактической длины содержимого.

...