PHP curl ändert den Inhaltstyp in application / x-www-form-urlencoded. Sollte das nicht tun

8

Ich möchte ein Video direkt von meinem Server auf Youtube hochladen, für das ich PHP curl verwende.

Ich brauche dieses Anfrageformat:

%Vor%

Das habe ich:

%Vor%

Dumping das Ergebnis zeigt mir, dass curl die Content-Type in application/x-www-form-urlencoded geändert hat, was natürlich nicht von youtube unterstützt wird.

Ich setze meinen binären Inhalt (das Video) in CURLOPT_POSTFIELDS , vielleicht ist das falsch, aber ich weiß nicht, wie ich den Anfragetext anders einstellen soll.

Wie behalte ich meinen von mir eingestellten Inhaltstyp?

    
Johannes Klauß 18.04.2013, 09:52
quelle

2 Antworten

7

Laut dem Dokumentationsabschnitt bezüglich des Parameters options muss die HTTP-Methode auf% co_de gesetzt werden In% wird standardmäßig der Inhaltstyp auf POST festgelegt. Mein Verdacht besteht also darin, dass das Setzen aller Optionen auf einmal dazu führt, dass Ihr application/x-www-form-urlencoded überschrieben wird.
Mein Vorschlag wäre, den Inhaltstyp in einer einzigen Anweisung festzulegen, nachdem Sie die Methode festgelegt haben, d. H.

%Vor%     
Havelock 19.04.2013, 10:46
quelle
10

Akzeptierte Antwort war nicht hilfreich für mich und ich habe ein anderes Problem in Ihrem Code gefunden. Laut der aktuellen Dokumentation muss CURLOPT_HTTPHEADER wie folgt eingestellt sein:

%Vor%

Es muss eine Liste von Strings sein, kein Hash wie array('Content-Type' => 'text/plain') . Ich hoffe, es wird die Debugging-Zeit von jemandem speichern.

    
vbo 13.12.2013 12:25
quelle

Tags und Links