php - CURL能模拟从服务器提交,能否模拟从客户端提交?
PHPz
PHPz 2017-04-11 09:10:48
[PHP讨论组]

各位大神,请教下。
众所周知模拟登陆用CURL已经不太好使了,因为很多网站都需要验证码,我遇到一个需求,可以让用户先去目标网站登录,我不模拟他登录步骤,可以让他手动登录好,怎么种cookie我都不管,我只想在自己的系统里模拟提交其中的一个表单,获取返回值。
我试了好多种办法
1)file_get_contents不行,是从我的服务器直接发请求过去,被目标网站跳回登录页
2)我尝试在php里虚拟提交一个表单,<form name='t1' action='http://pub.alimama.com/common...' method='GET'><input type='hidden' name='tag' value='29' /></form><script>document.t1.submit();</script>,这样是可以的,但问题是这样的方法直接跳出了我的系统,我已经没机会再获取返回值
3)CURL是我最先考虑的,但问题和file_get_contents一样,好像也都是从服务器直接发请求过去,被跳转至登陆页。

有没有办法让CURL能从客户端发送请求呢?或者有没有其他方法能实现这个功能,小弟水平十分有限,恳请大神指导,谢谢。

PHPz
PHPz

学习是最好的投资!

全部回复(1)
高洛峰

你服务器在发送的时候,你的服务器其实也是个客户机,所以提示没登录.你完成可以用js达成,你只需要让弹出框架和父页面进行通信就好了,而且很多都是封装现成的比如我很早前用的layer.弹出别站登录地址,登陆后再往框架处理你的需求.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号