CFNetwork を使用してヘッダーを読み込んでおり、リクエストがどのタイプの「Transfer-Encoding」かを読み取ろうとしています。「チャンク」する必要があります Wireshark は「Transfer-Encoding: chunked」の正しいリクエストを表示しますが、実際に CFNetwork を使用するコードはリクエスト ヘッダーを「Transfer-Encoding: Identity」として変更します。
なぜこれが起こっているのか誰にも分かりますか?
ヘッダーを読み取る私のコードは次のとおりです。
if (r->_headers) {
CFStringRef header_return = CFStringCreateWithFormat (kCFAllocatorDefault, NULL, CFSTR("%@: %@\r\n"), key, value);
if (header_return) {
char temp[256];
CFStringGetCString(header_return, temp, sizeof(temp), kCFStringEncodingUTF8);
char *trans_enc = NULL;
if (pico_http_internal_native_header_get(temp, "Transfer-Encoding:", &trans_enc)) {
if (strcmp(trans_enc, "chunked") == 0) { // <-- This always says "Identity"
r->_chunked = true; // Never hit, but wireshark shows it would be correct
}
}
r->_headers(r->_context, temp, strlen(temp));
pico_cfrelease(header_return);
}
}
助けてくれてありがとう。