在Codeigniter中,如何通过ngrok执行POST请求?

时间:2019-06-02 16:57:34

标签: php codeigniter codeigniter-3 ngrok

我有一个站点(使用Codeigniter 3.1.10),可以在通过localhost访问时正常工作。我正在尝试通过ngrok访问它进行测试,即通过Internet从另一个远程系统访问它。通过ngrok,我可以通过以下方式访问登录页面:

 http://f94181a4.ngrok.io/mysite/logincontroller/login

这将显示登录视图。但是,当我单击登录视图/页面中的“提交”按钮时,它会从远程系统浏览器发送如下的POST请求:

http://localhost/mysite/logincontroller/loginaction

由于远程系统以http://localhost的身份进行请求,因此它无法连接到我的本地服务器。因此,当从远程系统浏览器发出请求时,如何使用http://f94181a4.ngrok.io发送POST请求。

http://f94181a4.ngrok.io/mysite/logincontroller/loginaction

1 个答案:

答案 0 :(得分:1)

您可能忘记了设置“ base_url”配置。

尝试更改为此

$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https" : "http";
$config['base_url'] = "$protocol://{$_SERVER['HTTP_HOST']}/mysite/";