无法让 curl 在 drupal-7 中提交简单的内容类型

Can't get curl to submit a simple content-type in drupal-7

我必须制作一个脚本来登录到 drupal 7 用户并上传内容(无管理员或数据库访问权限)。我使用了 cURL 并成功登录并保存了会话 ID cooky.Afterwards 我可以访问内容类型的表单页面,成功(表示存储了cookie)但表单从未提交successfully.Here是我的代码

$crl = curl_init();
$url = "http://example.com/drupal/content/node/add/simple";
curl_setopt($crl, CURLOPT_URL, $url);
curl_setopt($crl, CURLOPT_HEADER, true);
curl_setopt($crl, CURLOPT_HTTPHEADER, $http_headers);
curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($crl, CURLOPT_COOKIEFILE, "/tmp/cookie.txt");
curl_setopt ($crl, CURLOPT_COOKIEJAR, "/tmp/cookie.txt"); 
curl_setopt($crl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($crl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36");
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($crl, CURLOPT_POST, 1);
$postdata = array(
"title"=>"dokimastiki anartisi",
"form_id"=>"simple_node_form",
"name"=>"dimitris",
"body[und][0][format]"=>"filtered_html",
"name"=>"dimitris",
"form_id"=>"simple_node_form",
"op"=>"Send message",);
curl_setopt ($crl, CURLOPT_POSTFIELDS, $postdata);
$result=curl_exec($crl);
$headers = curl_getinfo($crl);
echo curl_exec($crl);
session_write_close();
curl_close($crl);

我一直在努力使这项工作 2 days.I 已经尝试添加每个表单的名称和默认值 element.Can 有人看到我犯的任何明显错误吗?谢谢

我认为 drupal 会自动创建 CSRF 保护令牌,您必须将其附加到每个 POST 请求?您在发布之前没有提供代码来获取 csrf 令牌,我敢打赌这是您的问题。浏览器中的请求是什么样的?