Jak mogę powstrzymać cURL od używania 100 Kontynuuj?
Krótko mówiąc, mam aplikację AJAX, która używa interfejsu API MVC jako zaplecza. Klient wywołuje jednak z innej domeny i używa pliku proxy PHP, aby obejść problemy z żądaniami między domenami.
Jednak korzystając z serwera proxy PHP, interfejs WWW odpowiada na określone żądania za pomocą100 Continue
Nagłówek HTTP i wszelkie żądania, które go przywracają, wymagają więcej czasu (mówimy do 2 minut lub dłużej) i możemy również zwrócić nieważną odpowiedź.
Towydaje się być znanym problemem z cURL a obejście jest powszechnie cytowane jako wstawienie poniższej linii w celu usunięcia nagłówka expect: 100 w żądaniu cURL
Niestety, rozwiązanie wydaje mi się nieuchwytne:
$headers = getallheaders();
$headers_new = "";
foreach($headers as $title => $body) {
$headers_new[] = $title.": ".$body;
}
//$headers_new[] = 'Expect:';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers_new);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:') );
Ten kod działa, ale usuwa wszystkie inne nagłówki (co nie działa dla mnie, ponieważ używam podstawowych nagłówków autoryzacji HTTP do uwierzytelniania w interfejsie API). Możesz także zauważyć, że próbowałem dodaćExpect:
do istniejących nagłówków, ale to też mi nie pomogło.
Jak mogę utrzymać istniejące nagłówki, ale także zapobiec oczekiwaniu 100 cURL?