PHP CURL 似乎忽略了 cookie jar/文件

标签 php cookies curl

我正在使用这个....

    function cURL($url, $header=NULL, $p=NULL)
    {

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_NOBODY, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1");
        curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/TestCookies");


        if ($p) {
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $p);
        }
        $result = curl_exec($ch);

        if ($result) {
            return $result;
        } else {
            return curl_error($ch);
        }
        curl_close($ch);
    }

我正在这样打电话......

        $Headers = array(
                "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*\/*;q=0.5",
                "Accept-Language: en-gb,en;q=0.5",
                "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7");


        $a = $this->cURL("https://www.mysite.com/",$Headers, null);

我希望它接收一个 cookie 并将其写入文件 /tmp/TestCookies

该站点肯定会返回 Set-Cookie header - 如果我转储 $a 我可以看到它们,但是,该文件永远不会创建。

如果是权限问题,我使用 touch 创建了它并使用了 chmod 777 - 该文件现在存在但它是空的。

我做错了什么?

最佳答案

curl constants分为

  • CURL_COOKIEFILE 作为 cookies.txt 源,读取
  • CURL_COOKIEJAR作为数据存储,

您必须为 _COOKIEFILE 提供一个空字符串以启用它 IIRC,但如果您希望存储它们,则必须提供 _COOKIEJAR。通常将两个选项设置为相同的名称。

关于PHP CURL 似乎忽略了 cookie jar/文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8872071/

相关文章:

php - 通过 iframe 上传文件在 IE 中不起作用

php - 单击 JavaScript 弹出框链接后激活 jQuery 功能

java - 在 java 中的子域之间共享 Cookie?

php - 什么是 <?xml version ="1.0"?>?

php - 如何使用php在codeigniter中动态生成pdf附件来发送多封邮件?

java - 删除特定的 java.net.CookieManager Cookie 获取 UnmodifyingCollection 异常

JavaScript:set-cookie 和 response 是否处理原子操作?

curl - curl -输出到终端的内容是什么?

php - 从 BitBucket 请求 OAuth token

http - curl get to angular 2 http get 请求