多个 cURL 操作,同一会话

2024-04-07

首先,我知道curl_multi_init,但据我所知,它并不能完全满足我的需要。

我在登录后下载文件,所以

a) 需要登录 b) 下载图像

这是我目前拥有的

$login_url = 'https://us.test.com/Member/Login';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$login_url);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'login='.$this->username.'&password='.$this->userpass.'&signin=1&login_referer=none&remember_me=1');
curl_setopt($ch, CURLOPT_FAILONERROR,1);  
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/test/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/test/cookie.txt');  
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, true);   
curl_exec($ch);

//Grab and Write the image
$image = file_get_contents($image_url); 
$f = fopen($_SERVER['DOCUMENT_ROOT'].'/test/uploads/'.$id.'.jpg', 'w');
fwrite($f, $image);
fclose($f);  


curl_close($ch);

任何帮助,非常感谢。


我想通了,只需将会话 ID 添加到 cURL 中即可。但一个快速而肮脏的方法是

$download_str = 'wget -O '。 $保存。 $id 。 '.jpg --cookies=off --header "Cookie: PHPSESSID=' . $session_id . '" ' . $图像_url;

shell_exec($download_str);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个 cURL 操作,同一会话 的相关文章

  • 在 Woocommerce 购物车中设置最小小计金额

    我正在尝试将最低订单金额设置为 25 美元 到目前为止 我找到了这段代码 如果未达到最低限度 它似乎可以阻止结账 但它使用的小计包含税费 我需要在总计中排除税费 add action woocommerce checkout process
  • 如何编写在正文中包含锚标记的 Zend Framework URL?

    使用 Zend Framework 中设置的标准 MVC 我希望能够显示始终具有锚点的页面 现在我只是在 phtml 文件中添加一个带有 anchor 的无意义参数
  • 使用 DOJO 自动完成文本框

    我正在寻找一种使用 DOJO 进行文本框自动建议的简单方法 我将查询的数据库表 使用 PHP 脚本 以 JSON 形式返回 有超过 100 000 条记录 因此这确实不应该采用 FilteringSelect 或 ComboBox 的形式
  • 如何在没有引用的情况下复制对象?

    PHP5 OOP 有据可查对象通过引用传递 http php net manual en language oop5 references php默认情况下 如果这是默认的 在我看来 有一种非默认的方式可以在没有参考的情况下进行复制 如何
  • postgreSQL 在 WAMP 上的集成

    我刚刚在 Windows 7 上安装了 postgreSQL 我正在尝试将 postgreSQL 与 WAMP 服务器集成 为此 我在 httpd conf 和 php ini 文件中进行了以下更改 1个加载模块c path to libp
  • 将数组拆分为特定数量的块

    我知道array chunk 允许将数组拆分为多个块 但块的数量根据元素的数量而变化 我需要的是始终将数组拆分为特定数量的数组 例如 4 个数组 以下代码将数组分为 3 个块 两个块各有 2 个元素 1 个块有 1 个元素 我想要的是将数组
  • 在Windows 7上安装curl后缺少libcurl-4.dll

    按照这个人的安装curl后指示 https stackoverflow com a 28757477 1186038 除了第 2 步 已安装Win64 OpenSSL v1 0 1u 轻型相反 因为下载页面中缺少版本 k http slpr
  • PHP文件上传

    如果我想在文件名转到服务器的永久位置 而不是临时位置 之前更改文件名 我该如何执行此操作 代码如下
  • php下拉菜单人口

    我正在尝试编写一个 php 脚本 该脚本将根据主下拉菜单的选择填充第二个下拉菜单 我想使用 jquery 来完成所有非页面刷新的事情 但我发现现有的所有东西都很难理解和修改 你知道有什么写得很好且易于理解的东西吗 或者可能是现有的教程 下面
  • 如何使用 Google 帐户对我们网站中的用户进行身份验证

    如何在我们的网站中使用 Google 帐户对用户进行身份验证 我希望用户重定向到谷歌登录页面 然后将他重定向到我的网站 我想要这个 PHP 实现 你要OAuth http code google com apis accounts docs
  • PHP - 扩展 __construct

    我想知道你是否可以帮助我 我有两个类 一个扩展了另一个 B 类将由各种不同的对象扩展 并用于常见的数据库交互 现在我希望 B 类能够处理其连接和断开连接 而无需来自 A 类或任何外部输入的指示 据我了解 问题是扩展类不会自动运行其 cons
  • PHPUnit\Framework\TestCase 和 Tests\TestCase 有什么区别?

    我注意到在示例测试中 这两个类是内置的 功能测试 gt use Tests TestCase 单元测试 gt PHPUnit Framework TestCase 两者有什么区别 在什么情况下您会使用其中一种 PHPUnit Framewo
  • 如何处理 AJAX 请求中的会话超时

    我相信你们都熟悉使用 AJAX 的投票系统 嗯 看那边 我有类似的东西 当你投票赞成或反对时 它使用 AJAX 从 votes php 请求新值 问题是我正在使用会话来获取用户 ID 因此一个人只能投票一次 如果他们在页面上坐了一个小时然后
  • 模拟/存根在 PHPUnit 中实现 arrayaccess 的类的对象

    这是我正在为其编写测试套件的类的构造函数 它扩展了 mysqli function construct Config c store config file this gt config c do mysqli constructor pa
  • MySQL 数据库无法在 XAMPP for Mac 上启动

    突然我在 mac 上遇到了这个问题 我无法启动我的 MySQL 数据库 我只能启动 ProFTPD 和 Apache Web Server 这是应用程序日志 Starting all servers Starting MySQL Datab
  • 使用 fopen() 包装器创建 ZIP 文件

    如何使用以下命令创建 ZIP 文件fopen 包装器 http es php net manual en wrappers compression php 这显然是not道路
  • 合并 url 中的 2 个输入值

    我有这样的形式
  • Doctrine DQL 从 join 返回平面数组

    我通过 DQL 中的常规 LEFT JOIN 选择 3 个实体 它们通过连接表关联 连接表还定义了实体以及带注释的关系 查询执行没有问题 但我的结果作为平面数组返回 我期望一个包含三个实体作为每个索引的数组元素的数组 SELECT e1 e
  • 谷歌日历手表过期时间超过1个月怎么办?

    我将我的 CRM 系统与 Google 日历同步 为此 我要求push notifications从我的用户 Google 日历到我的系统 我已经成功创建了手表 并将过期时间设置为2030年 但是当我收到手表事件的响应时 它显示手表的过期时
  • 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

    我的表结构 table marks 我的目标 我想用条件插入或更新多条记录 我目前正在通过此查询进行检查 第一步 SELECT FROM marks WHERE student 115 AND param 1 第二步 if records

随机推荐

  • 按创建日期对文件排序 - iOS

    我试图获取 i 目录中的所有文件并根据创建日期或修改日期对它们进行排序 那里有很多例子 但我无法让其中任何一个起作用 有人有一个很好的例子如何从按日期排序的目录中获取文件数组吗 这里有两个步骤 获取文件列表及其创建日期 并对它们进行排序 为
  • 使用 youtube API 获取频道的所有视频

    我想获取具有 ID 的单个频道的所有视频 我只获得频道信息的问题 这是我正在使用的链接 该链接适用于现已停用的 V2 API 因此它不会返回任何数据 相反 您需要使用 API 的 V3 您需要做的第一件事是注册 API 密钥 您可以通过在以
  • 在 OS X El Capitan 上将项目迁移到 Xcode 7.2 会破坏构建

    我之前使用 Xcode 7 1 运行 OS X Mavericks 我刚刚更新到 OS X El Capitan 和 Xcode 7 2 我的应用程序在模拟器和设备上正常启动 没有任何类型的故事板警告 现在 我看到一堆关于故事板中缺少约束的
  • 更改 RMarkdown 代码输出中错误消息的颜色(HTML、PDF)

    有没有办法在 R Markdown 中自动将错误的文本颜色设置为红色 而无需稍后手动编辑 HTML title Example 1 r e1 error TRUE 2 A Example 2 r e2 error TRUE 2 2 在上面的
  • 有没有办法更改 Visual Studio Code 的扩展文件夹位置?

    我已经安装了 Visual Studio CodeOneDrive https en wikipedia org wiki OneDrive 以便将其与我的设备上的设置同步 但是 扩展名存储在 USERPROFILE vscode exte
  • 将复选框数组从 js 发送到 django 视图

    我对如何通过 Ajax 或 Json 执行此操作感到困惑 但是如何将选择数组 curCheck 单击发送到 Django 视图并将其作为 python 数组接收 javascript document getElementById resu
  • 如何专注于 jasmine.js 中的一项规范?

    由于相当大的架构变化 我有一堆失败的规格 我想通过用 焦点 标记每个问题来一一修复它们 jasmine js有这样的功能吗 我发誓我曾经读到过它确实如此 但我在文档中没有看到它 使用 Karma 时 您只能启用一项测试fit or fdes
  • GWT DataGrid 中的延迟加载数据

    是否可以将数据延迟加载到 GWT DataGrid 中 类似于 GWT CellList 延迟加载数据的方式 我有一个 GWT DataGrid 它可能会带回数百行 但一次只显示大约 20 行 发生这种情况时 网格的加载速度相当慢 我想使用
  • 带有语义 UI 可见侧边栏的推送内容太宽

    当使用可见的语义 UI 侧边栏时 推送器中的内容太宽 它具有浏览器窗口的宽度 而不是可用空间的宽度 div class pushable div class ui left vertical inverted visible sidebar
  • $this->价值损失,好吧,它的价值

    我正在使用的 PHP 文件有问题 而且我似乎找不到解决方案 在代码的一部分中 值 this gt value已设置 并且根据我的测试该值设置正确 但是 稍后在相同的代码中 this gt value是空的 这是代码
  • Javascript Intellisense 未显示所有内容

    需要集思广益 我对 Javascript 库 jQuery ExtJS 等 有疑问 这些库似乎与 Visual Studio 2008 中内置的 Javascript Intellisense 不能很好地配合 它们提供了 Intellise
  • 如何从 HTML 中去除无关紧要的空白

    我必须比较不同版本的 HTML 页面的格式和文本更改 不幸的是 创建它们的人 公司使用某种 HTML 编辑器 每次都会重新包装所有 HTML 并添加大量空格 这使得很难区分它们 因此 我正在寻找一种工具 最好是 Java 库 它可以重新格式
  • 什么时候应该在 HTML4/HTML5 中使用 name 属性?

    通过阅读 HTML4 01 和 HTML5 的 W3C 文档 我知道 name 属性最初作为 a 标签允许人们链接到文档中的锚点 然而 现在所有主要浏览器供应商都允许通过 id 属性链接到文档中的任何 HTML 元素 name 属性还有实际
  • 无法在 WP7 应用程序中使用 System.Threading.Tasks

    我最近完成了一个在线存储网站的库 它允许我在文件存储网站和 Windows 桌面客户端 Outlook 插件之间调用 PHP 公开的 REST 现在 这是一个问题 其中包含库中最基本操作的代码示例 优雅地终止 TPL 任务 https st
  • 适用于图片和视频的 Android 相机

    我想在我的 Android 应用程序中启动相机活动 并且我知道该怎么做 我想问当相机活动结束时 如何检查是否是用户拍摄的照片或视频 UPDATED 我有一个对话框 它询问两件事 新照片或视频 现有照片或视频 如果没有的话 1 这意味着相机将
  • 单击链接或按钮时复制文本

    I am new to website development and try to figure out how can I make my user automatically copy a code in to his her mou
  • 如何删除 JMenu 或 JMenuItem 上的边框

    我正在使用 Eclipse Luna 和 Java 1 7 并尝试创建一个JPanel有一个JMenuBar This JMenuBar包含一个JMenu其中又包含一个JMenuItem 为了契合整体JMenuBar在我的项目视觉设计中 我
  • GKE 集群的一个节点无法从 dockerhub 拉取镜像

    这是一件很苦涩的事情 我创建了一个private具有 3 个节点的节点池的 GKE 集群 然后我有一个包含 3 个 Pod 的副本集 其中一些 pod 将被调度到一个节点 所以这些豆荚之一总是得到ImagePullBackOff 我检查错误
  • tinyMCE 获取编辑器返回 null

    我在具有不同 id 的 2 个文本区域上初始化 2 个 tinyMCE 编辑器 var variable array id cName test mon test tinymce init selector model editor ent
  • 多个 cURL 操作,同一会话

    首先 我知道curl multi init 但据我所知 它并不能完全满足我的需要 我在登录后下载文件 所以 a 需要登录 b 下载图像 这是我目前拥有的 login url https us test com Member Login ch