Προς το περιεχόμενο

Boundary HTTP packet με php/curl


Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας, προσπαθώ με αρκετό κόπο να μετατρέψω αυτό το εγχείρημα (πρόκειται για επικοινωνία HTTP API του Xerox Docushare) http://dsdeveloper.blogspot.gr/2009/01/httpxml-upload.htmlσε php με χρήση της curl. Το πρόβλημά μου είναι η δόμηση του πακέτου με το αρχείο και τα boundaries.

 

Η προσπάθειά μου μέχρι στιγμής είναι ανεπιτυχής και κάπως σαν τα παρακάτω πακέτα:

 

 

Headers:
Array
(
    [0] => Accept: */*, text/html
    [1] => Accept-Language: en
    [2] => DocuShare-Version: 5.0
    [3] => Content-Transfer-Encoding: binary
    [4] => Content-type: "multipart/form-data"; boundary=f6bce71959b8c59c
)

και το πακέτο:


--f6bce71959b8c59c
Content-Disposition: form-data; name="parent"

Collection-10
--f6bce71959b8c59c
Content-Disposition: form-data; name="document"

EventsMap.pdf
--f6bce71959b8c59c
Content-Disposition: form-data; name="title"

EventsMap
--f6bce71959b8c59c
Content-Disposition: form-data; name="author"

 
--f6bce71959b8c59c
Content-Disposition: form-data; name="file1"; filename="EventsMap.pdf"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary

%PDF-1.4
....{binary PDF Data}...
%%EOF


--f6bce71959b8c59c--

 

 

 

και ο τρόπος που το παράγω:

 

 

$body = "\r\n--$boundary\r\nContent-Disposition: form-data; name=\"parent\"\r\n\r\n$collection\r\n";
$body .= "--$boundary\r\nContent-Disposition: form-data; name=\"document\"\r\n\r\n{$filename}.{$ext}\r\n";
$body .= "--$boundary\r\nContent-Disposition: form-data; name=\"title\"\r\n\r\n$filename\r\n";
$body .= "--$boundary\r\nContent-Disposition: form-data; name=\"author\"\r\n\r\n \r\n";
		
$body .= "--$boundary\r\nContent-Disposition: form-data; name=\"file1\"; filename=\"{$filename}.{$ext}\"\r\n";
$body .= "Content-Type: application/octet-stream\r\nContent-Transfer-Encoding: binary\r\n\r\n";
				
$body .= file_get_contents($file);
				
$body .= "\r\n\r\n--$boundary--\r\n";  

 

 

 

Μου έχει σπάσει τα νεύρα η δομή του πακέτου και πως μπορώ να το φτιάξω σωστά (ίσως γίνεται κάτι με τους white characters αλλά δεν το βρίσκω.)

 

ΕΥΧΑΡΙΣΤΩ για την προσοχή σας!


Μόλις το βρήκα, είχα βάλει quotes στο content-type 

 [4] => Content-type: "multipart/form-data"; boundary=f6bce71959b8c59c

και δεν χρειάζονταν.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...