这是针对前面的StackOverflow问题,https://stackoverflow.com/questions/31919599/how-to-send-login-credentials-to-popup-window,其中Tom .建议使用这种格式通过HTTP/HTTPS:username:password@domain.com登录。
这种方法使任何检查页面源的人都可以看到用户名和密码。
有没有任何方法可以通过PHP (也许是cURL)执行初始登录,然后继续进行HTML会话?我尝试了以下操作,但由于某种原因,会话没有保存,导致HTML进程失败:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://url.xxx');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "user:password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
curl_close($ch);
include 'sessionPage.html';
?>这种格式也不起作用:
curl_setopt($ch, CURLOPT_URL, 'http://user:password@url.xxx');如何通过PHP脚本成功登录并将会话转发到继续进行的HTML页面?资源是第三方的,因此我无法控制会话信息.。
谢谢。
发布于 2015-08-11 09:27:03
只有当php在同一台机器上运行时才有可能。基本上,您需要做的是从cURL的响应中获取cookie,并使用PHP将该cookie写入正确位置的文件系统中,以模拟成功的登录。所有这些假设cookie都用于身份验证。还有其他形式的认证:持久化形式,url中的sessionid,IP地址等等.
https://stackoverflow.com/questions/31937199
复制相似问题