• 技术文章 >后端开发 >php教程

    网络编程 - 使用PHP通过不同页面访问同一主机的cookie传递问题

    2016-06-06 20:29:34原创797

    在本地 Apache 上有两个文件:a.php & b.php
    a.php文件首先通过curl和Host联系并且创建cookie
    然后将一些参数传递给 b.php,再让b.php使用a.php创建的cookie联络Host。

    请问该怎么实现?

    回复内容:

    在本地 Apache 上有两个文件:a.php & b.php
    a.php文件首先通过curl和Host联系并且创建cookie
    然后将一些参数传递给 b.php,再让b.php使用a.php创建的cookie联络Host。

    请问该怎么实现?

    把cookie保存下来,如果你用的原生cURL的话,那就落地成文件保存。
    再次访问的时候,读取保存的cookie文件就OK了。

    自己看下吧。看你表述的好累。

    $post='__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=';
            // 初始化
            $curl = curl_init('http:///login.aspx');
            $header = array();
            $header[] = 'Host: 113.';
            $header[] = 'Connection: keep-alive';
            $header[] = 'Cache-Control: max-age=0';
            $header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
            $header[] = 'Origin: http://113.';
            $header[] = 'User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36';
            $header[] = 'Content-Type: application/x-www-form-urlencoded';
            $header[] = 'Referer: http:///login.aspx';
            $header[] = 'Accept-Encoding: gzip, deflate';
            $header[] = 'Accept-Language: zh-CN,zh;q=0.8';
            $header[] = 'Cookie: ASP.NET_SessionId='.$cookies;
            curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
            // 不输出header头信息
            curl_setopt($curl, CURLOPT_HEADER, 1);    
            // 保存到字符串而不是输出
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            // post数据
            curl_setopt($curl, CURLOPT_POST, 1);
            // 请求数据
            curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
            // 是否抓取跳转后的页面
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
            $response = curl_exec($curl);
            curl_close($curl);
            $rs=strlen($response);

    你为什么不直接在a.php的末尾require b.php?

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:$test = ['a'=>1,'b'=>2];这种方式定义数组从哪个版本开始是支持的? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 聊聊ChatGPT是啥?PHP怎么使用ChatGPT?• 一文详解PHP用流方式实现下载文件(附代码示例)• PHP反序列化入门总结(小白必看)• PHP原生类的总结分享• 聊聊PHP escapeshellarg函数使用的中文问题
    1/1

    PHP中文网