Php 从其他站点外部调用CI框架的概念

Php 从其他站点外部调用CI框架的概念,php,codeigniter,curl,Php,Codeigniter,Curl,救命,我迷路了 从另一个站点调用CI框架PHP的概念是什么? 我需要任何插件来帮助我实现它吗? 我必须使用CI来调用CI,我如何将其卷曲? POST数据是否存在输入数据问题 我访问了网站,但没有回应,因为我无法让CI控制器正常工作 我尝试过XML、字符串、JSON,但都不起作用 我已读取请求,Rest服务器 如果这方面有什么好的参考资料,请分享 我用CURL得到了验证码。 但当我试图将postData发布到登录页面时, 该网页没有响应。我想知道控制器是否没有收到任何post数据 $postda

救命,我迷路了

从另一个站点调用CI框架PHP的概念是什么? 我需要任何插件来帮助我实现它吗? 我必须使用CI来调用CI,我如何将其卷曲? POST数据是否存在输入数据问题

我访问了网站,但没有回应,因为我无法让CI控制器正常工作

我尝试过XML、字符串、JSON,但都不起作用

我已读取请求,Rest服务器

如果这方面有什么好的参考资料,请分享

我用CURL得到了验证码。 但当我试图将postData发布到登录页面时, 该网页没有响应。我想知道控制器是否没有收到任何post数据

 $postdata1 = "aid=" . urlencode($log["userlogin"]) . "&apw=" . urlencode($log["passlogin"]) . "&code=" . urlencode($captcha) . "&submitlogin=Login!";

 echo $postdata1;

curl_setopt ($ch, CURLOPT_URL,"$site/index.php/admin");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7");
curl_setopt ($ch, CURLOPT_TIMEOUT, 20);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt ($ch, CURLOPT_AUTOREFERER,1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, getcwd() . $cookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, getcwd() . $cookie);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata1);
curl_setopt ($ch, CURLOPT_POST, 1);
$result1 = curl_exec ($ch);

curl_close($ch);
篡改数据结果:

//POSTDATA=aid=admin&apw=admin&code=1272&submitlogin=Login

更新: 经过几个小时的干预,我终于进入了控制器的功能。
curl_setopt($ch,CURLOPT_URL,“$site/index.php/admin/login”)


管理员。php函数login()

好的。因此,几个小时后,我设法找到了解决办法

我们使用什么样的方式来卷曲页面并不重要。 我正在选择像上面那样的旧方法

调用CI控制器中的函数。我们可以这样做。 例如,我想访问登录

curl_setopt($ch,CURLOPT_URL,“$site/index.php/admin/login”);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_USERAGENT,“Mozilla/5.0(Windows;U;Windows NT 6.1;en-US;rv:1.9.1.7)Gecko/20091221 Firefox/3.5.7”);
curl_setopt($ch,CURLOPT_超时,20);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_AUTOREFERER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_COOKIEJAR,getcwd().$cookie);
curl_setopt($ch,CURLOPT_COOKIEFILE,getcwd().$cookie);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postdata1);
卷曲设置($ch,卷曲设置桩,1);
$result1=curl\u exec($ch)

如果我想发送更多参数,只需根据控制器中的函数参数将其添加到URL

例如

Controller.php
函数editpw($adminid,$password){}

curl_setopt($ch,CURLOPT_URL,“$site/index.php/admin/editpw/$adminid/$password”);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_USERAGENT,“Mozilla/5.0(Windows;U;Windows NT 6.1;en-US;rv:1.9.1.7)Gecko/20091221 Firefox/3.5.7”);
curl_setopt($ch,CURLOPT_超时,20);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_AUTOREFERER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_COOKIEJAR,getcwd().$cookie);
curl_setopt($ch,CURLOPT_COOKIEFILE,getcwd().$cookie);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postdata1);
卷曲设置($ch,卷曲设置桩,1);
$result1=curl\u exec($ch)

好了