我必须创建一个登录到drupal 7用户并上传内容的脚本(没有管理员或数据库访问)。我已经使用cURL并成功登录在还保存会话ID cooky.Afterwards我可以访问的内容类型的表单页面,successfuly(表明点心存储),但从未形式提交successfully.Here是我的代码不能让curl在drupal-7中提交一个简单的内容类型
$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);
我一直在strugling到使这项工作2天。我已经尝试添加每个表单元素的名称和默认值。任何人都可以看到我犯的任何明显的错误?谢谢
如果你对自己的卷曲有困难,你是否想过尝试[Guzzle](http://docs.guzzlephp.org/en/stable/)?可能会更容易,更清洁。 – Peon
谢谢您的建议。如果没有其他作品,我会对其进行调查 –