PHP模拟POST请求返回值的获取和跳转问题

gz109 2016-11-22 10:24:19
某OA系统,我需要用到它的用户名和密码,但是这个OA不开源,我不知道密码加密方式,只是知道登录地址,所以。

我需要用户登录我的网站,然后把获取到的用户名和密码去 另外一个地址验证,验证成功以后查询这个用户的在OA数据库里面的姓名,然后给这个用户 SESSION 的姓名赋值,但是问题来了,我模拟登录以后呢,如果成功以后,默认就会跳转到OA的地址,而不是我的地址,这样的情况怎么办,我只是验证,但是不能让他跳转。
我的域名是 aa.com ,需要去模拟登录OA的地址是 oa.com

我的代码是这样的。


$name='lisa'; //从 我的网站aa.com 提交的用户名
$pass='pass'; //从我的网站aa.com获取的密码

$post_data=array(
'UNAME'=>$name,
'PASSWORD'=>$pass
);
$url='http://oa.com/logincheck.php'; //模拟提交的oa.com的post接受地址

$postdata = http_build_query($post_data);

$options = array( //模拟浏览器信息
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => $postdata,
'timeout' => 15 * 60 // 超时时间(单位:s)
)
);
$context = stream_context_create($options);

$result = file_get_contents($url, false, $context);
/*
这里的 $result 如果成功以后会自动跳转到 oa.com/user 我不想要跳转,
如果成功了我想要跳转到 aa.com/user 我不知道怎么处理了。
*/

...全文
397 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你可以先获取到他成功登陆与否返回的内容,根据返回的内容分别做不同处理,建议使用curl来做这个,file_get_contents对你这个情况处理不是很好
wodebaobei12611 2016-11-22
  • 打赏
  • 举报
回复
楼主去看一下curl

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧