La longueur requise", lors de la publication de données avec cURL

Je reçois un <h1>Length required</h1> d'erreur, lors de la soumission d'un post-chaîne à un serveur.

$cookie = "Secret cookie data here";

$searchData = array(
        '__EVENTTARGET' => 'ctl00$main$btn',
        'ctl00$main$tbMNr' => $_GET['smth'],
        'ctl00$main$tbMb' => $_GET['smthElse'],
        '__VIEWSTATE' => 'smthElseHere'
);

//Commenting this out, as suggested by user lonesomeday
//foreach ($searchData as &$elem) //This should not be necessary
//   $elem = urlencode($elem);


//create a new cURL resource

$fields = http_build_query($searchData); //Assuming it's an array

if ($ch = curl_init("http://mysite.com"))
{
        //set URL and other appropriate options
        curl_setopt($ch, CURLOPT_COOKIE, $cookie);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_POST, true); //Suggestion from Berry Langerak - no difference, same error
        curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
}



$result = curl_exec($ch);
if ($result === false) {
    echo 'Curl error: ' . curl_error($ch);
}
echo "<pre>".$fields."</pre>".$result; //For debugging ONLY

curl_close($ch);

Si j'commentaire la CURLOPT_POSTFIELDS et CURLOPT_POST, tout va bien.

Des suggestions?

Modifier

Quand j'ajoute cette ligne

curl_setopt($ch, CURLOPT_HEADER, array('Content-Type:application/x-www-form-urlencoded'));

Je vois cette erreur, juste avant Length Required

HTTP/1.1 411 Longueur Nécessaire Content-Type: text/html Date: Lundi, 16 Mai 2011 à 10:20:54 GMT Connection: close Content-Length: 24

Avez-vous essayé avec le "ce ne devrait pas être nécessaire"? Parce que non, il ne devrait pas être nécessaire.
Oui, il ne fait aucune différence

OriginalL'auteur Ragnar123 | 2011-05-16