帮助,我输了。
从其他站点调用CI框架PHP的概念是什么? 我需要任何插件来帮助我实现它吗? 我必须使用CI来呼叫CI,我该如何解决这个问题? 它是POST DATA的输入数据问题吗?
我对网站进行了调查,但由于我无法让CI控制器正常运行,因此没有回复。
我尝试过XML,字符串,JSON,但它不起作用。
我已阅读Requests,Rest Server https://github.com/philsturgeon/codeigniter-restserver。
如果对此有任何好的参考,请分享。
我有使用CURL的验证码。 但是当我试图将postData发布到登录页面时 网页没有响应。我想知道控制器是否没有收到任何发布数据。
$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 function login();
答案 0 :(得分:0)
好。所以几个小时后,我设法找到解决方案。
使用cURL页面的方式并不重要。 我选择了上面的方法。
调用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_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);
如果我想发送更多参数,只需根据Controller中的函数参数将其添加到URL中。
例如。
Controller.php这样
function 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_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);
你去。