【问题标题】:Send a POST and receive cookies in PHP在 PHP 中发送 POST 和接收 cookie
【发布时间】:2011-11-06 19:38:18
【问题描述】:


我有一个网站需要向网站发送POST,而不是读取返回的 cookie(以 HTTP 方式 - 也称为 Set-Cookie: ...)
我试过这段代码:

<?php
$ch = curl_init('http://www.site.co.il/login.php?do=login');
 curl_setopt ($ch, CURLOPT_POST, 1);
 curl_setopt ($ch, CURLOPT_POSTFIELDS, "datadata");
 $a = curl_exec($ch);
 curl_close($ch);

但它只在浏览器中加载网站(我什至没有写 print($a) !!!) - 虽然它确实显示“连接成功” - 但 ofcorse 没有设置 cookie。
我基本上想制作一个类似代理的应用程序,其中从 site.co.il 收到的 cookie 将存储在客户端机器上,但每次连接到我的站点时,它都会抓取 cookie 并使用 POST 到 site.co.il他们。
任何从返回的 HTTP 中获取 Set-Cookie: 标头的示例都将受到赞赏。
谢谢!

【问题讨论】:

    标签: php http cookies


    【解决方案1】:

    尝试将CURLOPT_HEADER 设置为true 并删除BODY 内容

    <?php
        $ch = curl_init('http://www.site.co.il/login.php?do=login');
        curl_setopt ($ch, CURLOPT_POST, 1);
        curl_setopt ($ch, CURLOPT_POSTFIELDS, "datadata");
        curl_setopt ($ch, CURLOPT_HEADER, TRUE); 
        curl_setopt ($ch, CURLOPT_NOBODY, TRUE);
        $a = curl_exec($ch);
        curl_close($ch);
    ?>
    

    【讨论】:

    • 但它仍然只是发布到网站。我想将它保存在一个变量中以供进一步分析。
    【解决方案2】:

    米海是对的。这是一些执行此操作的代码: http://us.php.net/manual/en/function.curl-exec.php#92580

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 1970-01-01
      • 2019-08-11
      • 2016-01-28
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      相关资源
      最近更新 更多