- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 PHP Curl 的情况下,当我们需要在网络抓取方面存储/读取 cookie 时,感觉那里的许多资源都鼓励使用带有这些选项的文件来处理 cookie
curl_setopt($ch, CURLOPT_COOKIEJAR, $CookieJarFilename);
curl_setopt($ch, CURLOPT_COOKIEFILE, $CookieJarFilename);
这里的底线是他们使用单个文件作为 cookiejar(通常是 .txt 文件)。
但在实际场景中,我们的网站不仅仅是一台电脑访问的,很可能有很多台电脑同时访问它,而且还有一些机器人,如Googlebots、Yahoo Slurp等。
那么,对于单个 .txt 文件,cookie jar 会覆盖相同的文本文件,让 cookie 变得一团糟,这不是很明显吗?
还是我弄错了?
处理 cookie 的“正确”方法是什么?
最佳答案
如果有多个人访问您的页面,并且您需要为每个人使用唯一的 cookie 执行 curl
,那么您可以采取多种措施来处理这种情况。
1) 如果您的用户已通过身份验证并且在您这边启动了 $_SESSION
,那么您可以使用 session_id()
作为 cookie 的文件名。
2) 如果您的用户不需要任何 session (例如 Google 机器人),您可以使用时间戳和一个额外的随机数作为 cookie 文件名来创建 cookie。例如:
$cookieName = time()."_".substr(md5(microtime()),0,5).".txt";
// Would output something like:
// `1388788940_91ab4.txt`
但在这种情况下,如果用户在 5 分钟后返回给您,则您不能重用该 cookie(除非您将用户的 cookie 设置为您的 cookie 文件名)。
无论哪种情况,请确保您定期清理这些文件。否则,您将在目录中创建大量 cookie 文件。
关于php - PHP Curl 中的 cookiejar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20896893/
我正在学习 Python 并使用 Requests Lib。我想使用 CookieJar 来存储 cookie,但我找不到如何将响应的 Cookie 添加到现有 CookieJar: CookieJa
在 Mechanize 方面,我们有: 方法:set_cookiejar() 但是,当我们说 mechanize 具有自动 cookie 处理时,为什么我们仍然需要一个 cookie jar ? 请帮
我有一个带有 CookieJar 的对象,我想对其进行 pickle。 然而,正如你们可能都知道的那样,pickle 会阻塞包含锁定对象的对象。由于某些可怕的原因,CookieJar 有一个锁定对象。
CookieJar 似乎将 cookie 保存在内存之外的某个地方,但我无法在文档中找到这些详细信息。那么 CookieJar 在哪里保存 cookie?有没有办法更改 cookie 的持久保存位置?
如何像以下代码一样从 Mojo 中的文件加载 cookie: my $mech = WWW::Mechanize->new(); $mech->cookie_jar(HTTP::Cookies->ne
我在使用 python 将 cookie 放入字典时遇到了一些问题。即使在运行请求提供的命令后,似乎也以某种方式转义了。 resp = requests.get(geturl, cookies=coo
我在从 cookiejar 中检索 cookie 时遇到问题。 我正在尝试使用请求库,我想检索特定的 cookie,但我不知道如何去做。 也许你们中的某个人比我更有经验,或者对 Python2.7 了
我尝试像这样 pickle CookieJar 对象: import cookielib import pickle dumpFile = open('cookie.dump','w') cj = c
在 PHP Curl 的情况下,当我们需要在网络抓取方面存储/读取 cookie 时,感觉那里的许多资源都鼓励使用带有这些选项的文件来处理 cookie curl_setopt($ch, CURLOP
我正在尝试使用 urllib2 和 cookiejar 登录网站。它保存了 session ID,但是当我尝试打开另一个需要身份验证的链接时,它说我没有登录。我做错了什么? 这是代码,对我来说失败了:
如何在 python 中创建一个 cookie 并将其添加到 CookieJar 实例?我有 cookie 的所有信息(名称、值、域、路径等),但我不想使用 http 请求提取新的 cookie。 我
我在 Linux Slackware 13.0 和 python 2.6.2 上运行 SUDS 0.4。当我使用这段代码调用 SOAP 方法时: from suds.client import Cli
我正在使用 Python Requests 库来发出 HTTP 请求。我从服务器获取一个 cookie 作为文本。如何把它变成一个带有 cookie 的 CookieJar? 最佳答案 Request
我知道我可以遍历 cookiejar 中的 cookie,这将允许我找到具有特定名称的 cookie - 但是 CookieJar 对象本身是否有任何我可以调用的方法来按名称获取某个 cookie?
今天我遇到了“cookiejar”一词(包net/http/cookiejar)。我试图收集一些关于它的信息,但没有得到任何可以理解的信息。我知道 cookie 是服务器发送给客户端的键/值对,例如:
我有一个网站抓取工具运行了很长时间,没有任何问题。最近,我相信该网站进行了更改,并且我现在遇到了 session 持久性问题。这是创建我的浏览器的代码: def create_browser(): #
我知道基础数据结构是HashSet,但是为什么get方法可以使用&str类型而不是cookie结构? cargo.toml [dependencies] cookie = "0.14" src/mai
我正在尝试设计一种方法,可以从 http.Client 获取 cookie,存储原始 cookie 数据,然后稍后将原始 cookie 转换为 *http.Cookie,然后将其添加到 http 。
我有一个 CookieJar 实例,我想从其内容中获取格式正确的 Cookie: HTTP header 。 我查看了 Python 模块源代码,但它总计约 3/4 函数和 20 sloc,我正在寻找
我正在使用以下基于 this answer 的代码将身份验证 cookie 存储在文件中。这使我可以避免每次运行该程序时都必须登录。 现在,从常规 session cookie 中获取 csrftok
我是一名优秀的程序员,十分优秀!