为什么我收到空字符串PHP curl OpenCart

时间:2019-05-29 08:05:17

标签: php curl

我正在尝试通过其他来源的curl访问功能,该功能已放置在我的OpenCart网站中,该网站应该是将当前产品存储在数据库中。

通常,每当有人尝试访问admin opencart中的任何页面时,它将被重定向到登录页面,这也与我的curl请求有关。我通过邮递区发送用户名和密码,以便像手动登录一样访问登录页面,因此可以将我重定向到我的函数。

我的职能是:

public function get_settings(){

        $this->load->model('catalog/product');
        $this->load->model('tool/image');
        $return = $this->model_catalog_product->getProducts();
        $array = array();
        foreach($return as $ret){
            $array[] = array(
                'product_id' => $ret['product_id'],
                'product_image' => ($ret['image']) ? $this->model_tool_image->resize($ret['image'], 40, 40) : $image = $this->model_tool_image->resize('no_image.png', 40, 40),
                'product_name' => $ret['name'],
                'product_model' => $ret['model'],
                'product_quantity' => $ret['quantity'],
                'product_price' => $this->currency->format(number_format($ret['price'], 2, '.', ''), $this->config->get('config_currency')),
                'product_status' => ($ret['status'] == 1) ? 'Enabled' : 'Disabled'
            );
        }
        echo json_encode($array);
    }

我的卷曲请求将是:

$params = array(
            'username' => $this->session->userdata('admin_user'),
            'password' => $this->session->userdata('admin_pass'),
            'redirect' => $this->session->userdata('domain').'admin/index.php?route=catalog/product/get_settings'
        );

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $this->session->userdata('domain').'admin/index.php?route=common/login');
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $return = curl_exec($ch);
        curl_close($ch);

        var_dump($return);

我没有收到任何错误消息。我检查了日志文件。我只得到一个空字符串。 OpenCart在登录时验证是否存在我发送的任何重定向帖子值,以便将我转发到该特定页面,该页面是返回我的JSON的功能

0 个答案:

没有答案