使用 PHP 的 curl 登录到 Opencart 的管理员
Login to Opencart's admin with curl of PHP
我想使用 curl 自动登录 OpenCart CMS 并自动向其添加内容
但我无法登录 it.I 搜索并找到了一些结果但无法帮助我我没有得到任何结果。这是我的代码:
<?php
include_once "simple_html_dom.php";
$username = 'active';
$password = '123active';
$loginUrl = 'http://localhost:100/mywebsite/admin/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec($ch);
$html=new simple_html_dom();
$html->load($store);
foreach($html->find("li#dashboard") as $dash){
echo $dash->innertext;
}
?>
在这段代码中,我首先初始化 username
和 password
以及我的 URL 链接到
到我网站的管理员,然后我使用 CURLOPT_POST
请求和 CURLOPT_POSTFIELDS
然后执行 $ch
但现在我在 cookie.txt
上没有任何结果并且没有
登录到网站的管理员。
我查看了http://demo.opencart.com/admin/,发现表单中的操作url 不仅是/admin。试试这个:
<?php
include_once "simple_html_dom.php";
$username = 'active';
$password = '123active';
//$loginUrl = 'http://localhost:100/mywebsite/admin/';
//new url
$loginUrl = 'http://localhost:100/mywebsite/admin/index.php?route=common/login';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, true );
// follows a location header redirect
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec($ch);
$html=new simple_html_dom();
$html->load($store);
foreach($html->find("li#dashboard") as $dash){
echo $dash->innertext;
}
?>
我没有测试操作 url 是否取决于特定版本,所以只需使用浏览器开发人员工具检查表单即可
我想使用 curl 自动登录 OpenCart CMS 并自动向其添加内容
但我无法登录 it.I 搜索并找到了一些结果但无法帮助我我没有得到任何结果。这是我的代码:
<?php
include_once "simple_html_dom.php";
$username = 'active';
$password = '123active';
$loginUrl = 'http://localhost:100/mywebsite/admin/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec($ch);
$html=new simple_html_dom();
$html->load($store);
foreach($html->find("li#dashboard") as $dash){
echo $dash->innertext;
}
?>
在这段代码中,我首先初始化 username
和 password
以及我的 URL 链接到
到我网站的管理员,然后我使用 CURLOPT_POST
请求和 CURLOPT_POSTFIELDS
然后执行 $ch
但现在我在 cookie.txt
上没有任何结果并且没有
登录到网站的管理员。
我查看了http://demo.opencart.com/admin/,发现表单中的操作url 不仅是/admin。试试这个:
<?php
include_once "simple_html_dom.php";
$username = 'active';
$password = '123active';
//$loginUrl = 'http://localhost:100/mywebsite/admin/';
//new url
$loginUrl = 'http://localhost:100/mywebsite/admin/index.php?route=common/login';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, true );
// follows a location header redirect
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec($ch);
$html=new simple_html_dom();
$html->load($store);
foreach($html->find("li#dashboard") as $dash){
echo $dash->innertext;
}
?>
我没有测试操作 url 是否取决于特定版本,所以只需使用浏览器开发人员工具检查表单即可