【发布时间】:2016-04-25 09:23:22
【问题描述】:
我是 php 新手,我正在尝试使用 curl(抓取)从网站获取数据,
无法使用 CURLOPT_POST 将数据从 index.php 获取到 data.php.. 我做错了什么..?
index.php
<?php
$data = array("name"=>"john","age"=>31);
$string = http_build_query($data);
echo $string;
$ch = curl_init("http://localhost/scrap_practise/data.php");
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>
data.php
<?php
echo 'finlly in'; // this never echos
if(isset($_POST['name'],$_POST['age'])){
$db = new Mysqli("localhost","root","","mydb");
$name = $db->real_escape_string($_POST['name']);
$age = (int) $_POST['age'];
$query = "INSERT INTO data SET data='$name,$age'";
$db->query($query);
}
?>
【问题讨论】:
-
在变量
$result = curl_exec($ch);中分配 curl 并打印结果print_r($result);以检查错误,但您的代码工作正常,我认为问题在于您的主机名它是localhost而不是loclhost -
使用
curl_setopt($ch, CURLOPT_URL, Your Url); -
@manjeet barnala- 不,但它甚至没有回显 data.php 中的代码,data.php 中的第一行是 `echo 'finlly in' ., 它没有显示
标签: php curl web-scraping