Ben cURL PHP 5.2 kullanan bir satıcının sunucusuna karşı POST çalışılıyor. Ben kendi sunucusunda ve daha sonra bir tepki olarak okumaya karşı göndermek için bir XML belgesinde okuyorum:
$request = trim(file_get_contents('test.xml'));
$curlHandle = curl_init($servletURL);
curl_setopt($curlHandle, CURLOPT_POST, TRUE);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, array('XML'=>$request));
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curlHandle, CURLOPT_HEADER, FALSE); # Have also tried leaving this out
$response = curl_exec($curlHandle);
Kendisi bir bu kod, Tamam çalışır, ancak diğer sunucu belirterek bu XML çözümleyici bir yanıt verir:
İçerik önbölükün değil
Ben bu hata yukarı baktı ve bu normalde XML önce boşluklarla neden olur, ama ben XML dosyası kendisi hiçbir boşluk ve trim () zaten o kadar açık olmalıdır olduğundan emin yaptı. Ben kodu koştu ederken bağlantıda bir TCPdump'ı yaptım ve bu gönderilir budur:
POST {serverURL} HTTP/1.1
Host: {ip of server}:8080
Accept: */*
Content-Length: 921
Expect: 100-continue
Content-Type: multipart/form-data; boundry:---------------------------01e7cda3896f
---------------------------01e7cda3896f
Content-Disposition: form-data; name="XML"
[SNIP - the XML was displayed]
---------------------------01e7cda3896f--
Öncesi ve ben Ethereal olarak oturumu tekrar ne zaman [SNIP] satırdan sonra görünür boşluk var. Bu ne öyleyse, onu nasıl kaldırabilir, ya da ben çok arıyorum ve bu ben karşı ilanıyla sunucusu ile ilgili bir sorun olabilir, soruna neden mi?