La richiesta put mostra "HTTP/1.0 406 non accettabile: tipo di nodo mancante" [chiuso
-
30-10-2019 - |
Domanda
Ho provato ad aggiornare i dati di un nodo dalla richiesta put utilizzando Curl. Bit per qualche motivo che mostra "HTTP/1.0 406 non accettabile: tipo di nodo mancante", penso che la richiesta sia eseguita corretta ma i dati non sono in formato corretto. Di seguito è il mio codice.
$newSketchBoard = array(
'title' => $title,
'type' => 'rest_sketchboard_user',
'field_sketchboarduser_user_id[und][0][value]'=>$data['uid'],
'field_sketchboard_paintjob_id[und]' => $data['paintjobid'],
'field_sketchboard_template_id[und][0][value]' => $data['templateid'],
'field_sketchboard_user_color_id1[und]' => $data['colorid1'],
'field_sketchboard_user_color_id2[und]' => $data['colorid2'],
'field_sketchboard_user_color_id3[und]' => $data['colorid3'],
'field_sketchboard_user_color_id4[und]' => $data['colorid4'],
);
$entity_id=$sketchboard_data['entity_id'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER,true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 600);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIE, "{$session_cookie}");
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_URL, REST_BASE_URL."/node/{$entity_id}");
$putString = $newSketchBoard;
// Put string into a temporary file
$putData = tmpfile();
// Write the string to the temporary file
fwrite($putData, $putString);
// Move back to the beginning of the file
fseek($putData, 0);
curl_setopt($ch, CURLOPT_INFILE, $putData); // file pointer
curl_setopt($ch, CURLOPT_INFILESIZE, strlen($putString));
//curl_setopt($ch, CURLOPT_POSTFIELDS, $newSketchBoard);
$result = curl_exec($ch);
print_r($result);
Ho anche provato a usare il seguente codice, ma non funziona.
$putString = json_encode($newSketchBoard);
$putString = http_build_query($newSketchBoard);
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a drupal.stackexchange