2009-12-07 85 views
1

用cURL可能不是每个用户都使用同一个曲奇吗?卷曲曲奇处理

因为我存储我得到的cookie很酷,但是这个cookie会被所有人使用,它应该是,因为它是一个登录cookie。

查理

+0

请为您的问题提供一些背景。 – 2009-12-07 15:17:37

+0

我的问题是,使用cURL这个cookie不适用于浏览器,它适用于所有人,并且它对于登录事物并不酷。有人知道一些比cURL更好地处理cookie的东西吗? – Charlie 2009-12-07 15:22:49

+0

请注意,curl是一个命令行工具,并且在这个星球上有几乎所有可以想象的语言都有libcurl绑定。因此,“使用卷曲”可以是多种不同的方式之一。你是否在某种程度上指的是使用这种特定的方式或一般? – 2009-12-07 20:33:21

回答

2

你的问题不清楚,你希望所有用户使用相同的cookie或没有?什么是您的案例中的用户,您网站上的访问者?

在任何情况下,您都可以使用curl_setopt和CURLOPT_COOKIE *常量来设置将使用哪个文件curl来保存/加载其Cookie。

+0

因此,我在一台计算机(通过API)登录,卷曲存储cookie,但在另一台计算机上我不必登录,因为它使用相同的cookie,我不想要。 – Charlie 2009-12-07 15:14:04

+2

然后以某种方式创建一个标识符以知道请求来自哪个“计算机”,然后在为CURLOPT_COOKIEFILE和CURLOPT_COOKIEJAR提供的文件名中使用该标识符。这样cookie文件就会改变每个'电脑'。 – Lepidosteus 2009-12-07 15:19:26

3

这里的饼干是如何工作的

  1. 客户端(浏览器),一个真正的基本概述,使请求

  2. 服务器看到请求,并问:“嗨,这个客户给我饼干吗?”

  3. 服务器没有看到一个cookie,它确实是这样一些东西,然后发回一个响应,用一个cookie

  4. 客户端(浏览器)看到响应并说:“嗨,你看,一个cookie的我,我还是拯救这个“

  5. 下一次客户端向同一服务器发出请求,它沿着相同的cookie

  6. 服务器看到请求,并要求将”嗨,这个客户给我一块饼干?”

  7. 服务器看到这一次的cookie,并且不会因为什么在cookie中的一些不同的东西,然后发回一个响应,用一个cookie

  8. 客户端(浏览器)看到的反应,并说:“嘿你看,我一个cookie,让更新我有”

这听起来像你正在运行到是你必须从同一台机器上运行多个要求卷曲的问题,但希望每个人使用一个不同的cookie文件。

您应该能够通过使用以下两种卷曲选项

CURLOPT_COOKIEJAR //tells curl which file to save the cookie from the server in 
CURLOPT_COOKIEFILE //tells curl which file to look in and send as the request cookie 

如果您设置一个系统,使每个不同的卷曲请求设置这两个选项不同的路径值,你应该实现这个组。