如何在redirect()中,使用post方法,而不是默认的get方法

我想实现这样的功能:

想通过controller模拟form表单提交,

比如,模拟wordpress/discuz后台登陆

(1)redirect()只支持get方法,所以,提交的参数会显示在url上,这样就不能提交密码之类的参数值。

(2)CForm,只能往view输出,不能模拟form通过post方法提交给其他系统吧。

请求帮助,谢谢!

QQ群中,几个人提示通过CURL来实现,我尝试一下。谢谢大家

CRUL只能做到抓取(get和post都支持),但是在动作完成之后,redirect不行。

比如,通过controller模拟wordpress登陆,通过CRUL post方法,但是redirect后,wordpress的cookie会丢失。

毕竟是两个浏览器在交互,一个事CRUL后面的命令行浏览器,一个是用户自己的浏览器。

网络上探讨了很多类似的解决方案,都没有一个最终成行的。

看来,通过CForm做一个简单的form嵌入提交吧。

这个功能就不常用,所以不适合用redirect。自己写程序是解决方法。

自己render一个form,利用js自动提交?

这个可以,不过,新问题是如果提交密码,那么在客户浏览器会被看见。

变通的方式只能是通过AJAX临时回服务器取回保存在session中的密码,再回到表单提交。

你的应用应该是在某个站点登录并执行一些操作后,可以重定向到另一个站点(不同的域名),然后也保持登录状态,

所以你想提交用户名密码到第二个站点,又不想被人看到密码,所以不能用get请求

实际上这应该用其他设计来实现

我也想知道如何实现 ???