Wie kann ich verhindern, dass cURL 100 Continue verwendet?

Kurz gesagt, ich habe eine AJAX-Anwendung, die MVC Web API als Back-End verwendet. Der Client ruft jedoch von einer anderen Domäne aus an und verwendet eine PHP-Proxy-Datei, um domänenübergreifende Anforderungsprobleme zu umgehen.

Bei Verwendung des PHP-Proxys antwortet die Web-API jedoch auf bestimmte Anforderungen mit einem100 Continue Der HTTP-Header und alle Anfragen, die diesen zurückerhalten, benötigen zu viel Zeit (wir sprechen von ungefähr 2 Minuten) und können auch eine ungültige Antwort zurückgeben.

Diesescheint ein bekanntes Problem mit cURL zu sein und die Problemumgehung wird allgemein als Einfügen der folgenden Zeile zum Entfernen des Expect: 100-Headers in der cURL-Anforderung bezeichnet

Leider scheint mir die Lösung schwer zu fallen:

$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:') );

Dieser Code funktioniert, entfernt jedoch alle anderen Header (was für mich nicht funktioniert, da ich HTTP Basic Auth-Header verwende, um mich bei der API zu authentifizieren). Möglicherweise bemerken Sie auch, dass ich versucht habe, dieExpect: zu den vorhandenen Headern, aber das hat mir auch nicht geholfen.

Wie kann ich die vorhandenen Header pflegen, aber auch verhindern, dass cURL eine Fortsetzung von 100 erwartet?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage