代码之家  ›  专栏  ›  技术社区  ›  coolkid

无法在PHP中使用cookies

  •  3
  • coolkid  · 技术社区  · 15 年前

    我在用cURL解析一个网站。

    http://www.hcmiu.edu.vn/bookforsale/showbooks.php

    http://www.hcmiu.edu.vn/bookforsale/perInfo.php

    我使用此代码获取会话cookie,但我不知道为什么我看不到对文件的任何更改cookies.txt文件

    $urltopost = "http://www.hcmiu.edu.vn/bookforsale/perInfo.php";
    $datatopost = array (
    "name" => "abc",
    "tel" => "99999999",
    "email" => "abc@gmail.com",
    "profession" => "abc",
    "employer" => "abc",
    "tel_work" => "99999999",
    ); 
    $ch = curl_init($urltopost);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $datatopost);
    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookies.txt"); 
    
    $returnData = curl_exec($ch);
    $file = fopen("example.txt", "w");
    fwrite($file, $returnData);
    fclose($file);
    curl_close($ch);
    

    然而,我看到:

    Set-Cookie: PHPSESSID=1egb993objkrdp3gi5mpvs02g0; path=/ 
    

    -编辑:

    3 回复  |  直到 13 年前
        1
  •  3
  •   Kniganapolke    15 年前

    我使用以下代码片段从服务器的响应中提取cookie:

    $returnData = curl_exec($ch);
    $cookie = '';
    $pattern = '/Set-Cookie:(.*?)\n/';
    if (preg_match($pattern, $returnData, $result))
    $cookie = $result[1];
    

    我已经描述了我在 this post . 这种方法不使用cookie文件。


    有什么关系 cookie文件 ,请考虑以下建议 http://php.net/manual/en/book.curl.php

    使用绝对路径设置 变量curlu COOKIEFILE& 库克雅尔。让生活更轻松 使用realpath(“文件.txt)函数

        2
  •  2
  •   sathia    15 年前

        3
  •  2
  •   Joyce Babu    15 年前

    尝试创建文件并授予其全局读写权限。

    推荐文章