3

我需要登录(发帖)curlphp一个网站,然后保存一个带有身份验证的cookie,并用它来访问来自同一网站的正常链接。

他们只有一半的免费版文本可用,但全部都是高级版。因此,如果可能的话,我想在以后多次保存 cookie。

cURL我对and有所了解PHP,但我还没有提出解决方案。

多谢你们!

4

1 回答 1

6

您需要使用 cookiejar 参数在两个请求之间共享一个文本文件。

/* Create a temporary cookie file */
$ckfile = tempnam ("/tmp", "COOKIES");

/* Visit the first page */

$ch = curl_init ("http://somedomain.com/");
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);

/* Visit the second page */

$ch = curl_init ("http://somedomain.com/cookiepage.php");
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);

从http://coderscult.com/php-curl-cookies-example/修改的示例


编辑:我应该已经阅读了 tempnam 的文档...它创建了一个唯一的文件名,因此不需要添加额外的用户特定前缀,除非您希望以后能够识别该文件。您还可以查看调用 fclose 时自动删除的 tmpfile()(通常在 php 请求结束时)。

于 2013-05-22T18:02:57.803 回答