2017-04-04 1 views
0

Ich versuche, eine Anfrage mit einer von mir eingestellten Inhaltslänge zu senden und nicht durch Fressen. (putzen 6)Definieren Sie Guzzle Content-Length

$res = $client->request('POST', $url, ['headers' => ['Content-Length' => 32]]; 

Allerdings stoppt dies die Anfrage von senden!

Ich mache das, weil meine URL eine Abfrage-Zeichenfolge hat und ich brauche die Inhaltslänge festgelegt werden. Wenn Sie dies nicht tun, wird eine Inhaltslänge festgelegt: 0 by guzzle - wie kann ich alle Header definieren und damit aufhören?

Grüße

Antwort

0

Ihr Code perfekt mit Guzzle funktioniert (nur eine verpasste Klammer am Ende hinzufügen;).

Sie erhalten wahrscheinlich eine Ausnahme, aber es ist, weil der Server mit 413 Request entity too large reagiert, und Guzzle konvertiert es in Ausnahme (siehe http_errors, um dieses Verhalten zu steuern). Weil Sie den Anfragetext überhaupt nicht bereitstellen.

Wie auch immer, ich verstehe es nicht, wie der Query-String mit Content-Length Header verbunden ist. Die vom Header definierte Länge des Anforderungshauptteils, aber die Abfragezeichenfolge ist kein Teil des Hauptteils, daher gibt es keine Verbindung.