我过去没有多少使用过Curl而且有点困惑。
我正在尝试抓取表单中的信息并发布到我CURLOPT_URL
中设置的网址。
我可以使用以下
让基本的Json在邮递员中发帖{
"type":"bio",
"title":"new test5"
}
但是当我尝试添加我的html表单中的数据时,它不起作用,我想我有点不对劲有人纠正我并让我知道我做错了什么,谢谢。
完整代码
<form method = 'POST'>
<div class="">
<label><b>Title</b></label>
<input type="text" placeholder="Enter Title" name="titletext" required>
<button type="submit">Send</button>
</div>
</form>
<?php
$curl = curl_init();
if(isset($_POST['titletext']))
curl_setopt_array($curl, array(
CURLOPT_URL => "http://localhost/communicator-app/bensapi/node/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array
(
'type' => 'bio',
'title' => $_POST['titletext']
),
CURLOPT_COOKIE => file_get_contents( 'session_cookie.txt' ),
CURLOPT_HTTPHEADER => array(
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo "POSTED !";
}
答案 0 :(得分:0)
这可能对您有用,因为使用您的代码在我身边工作 index.php与您的表单
//Your form
<?php
if(isset($_POST['titletext'])){
$ch = curl_init();
$data_json = json_encode(array
(
'type' => 'bio',
'title' => $_POST['titletext']
));
curl_setopt($ch, CURLOPT_URL, "http://localhost/test/second.php");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIE, "your cookie");
$response = curl_exec($ch);
curl_close($ch);
print_r($response);
}
<强> second.php 强>
<?php
print_r(file_get_contents("php://input"));
?>
我使用curl将您的表单提交到此second.php
,并获得print_r($response);
的输出
{"type":"bio","title":"dsfgdfsgv"}