2013-05-22 172 views
3

我需要登录(发帖)curlphp到一个网站,然后保存一个cookie与身份验证,并使用它来访问正常的链接从相同网站。用php在curl页面登录,然后访问链接“登录”

他们只有一半的免费版本的文字,但整体保费。所以如果可能的话,我想多次保存一个cookie。

我知道一些关于cURLPHP,但我还没有拿出解决方案呢。

谢谢你们!

+1

好问题。我很想知道这个问题,但从来没有找到答案。 – Jonathan

+0

**在php中使用curl登录到页面,然后访问链接“登录”**我认为这个问题的顶部有点足以说明OP想要什么@Jonathan – NetStarter

+1

@NetStarter是的。你是对的。我想了一下之后,删除了我的评论。 :) – Jonathan

回答

6

您需要使用cookiejar参数在两个请求之间共享文本文件。从http://coderscult.com/php-curl-cookies-example/


编辑修改

/* 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); 

例子:我应该阅读的的tempnam文档......它创造了一个独特的文件名,所以添加额外的用户特定的前缀是没有必要的,除非你想以后能够识别文件。你也可以看看tmpfile(),它会在调用fclose时自动删除(通常在php请求结束时)。

+1

有趣,干净,有效! –