php cURL 脚本在打印返回字符串时运行两次

2024-03-07

我有以下脚本。在远程 php 脚本中,一条记录被添加到数据库表中。 当我在这个脚本中留下最后一行(print $html;)时,添加了 2 条记录!

当我省略该行时,仅添加一条记录。但显然我没有任何输出。

如果我将输出写入文件,则仅添加一条记录。输出是一个 html 页面。

<?php
  $ch = curl_init();

  // set URL and other appropriate options
  curl_setopt($ch, CURLOPT_URL, 'http://somedomain.nl/some.php?PARAMS=blabla');
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

  // cookie settings
  curl_setopt($ch, CURLOPT_COOKIEJAR, 'some.txt');
  curl_setopt($ch, CURLOPT_COOKIEFILE, 'some.txt');

  // set data to be posted
  curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);

  // perform the request
  $html = curl_exec($ch);

  // close the connection
  curl_close($ch);

  print $html;
?>

有什么建议么?

Gr. Han

/** 更新

<select class="p_ssyskey_mke" name=P_SSYSKEY_MKE onchange="MerkSubmitP()">
  <option value="">selecteer een merk</option>
  <option value="A0001E2Q">Subaru</option>
  <option selected value="A0001E2S">Toyota</option>
  <option value="A0001E2T">Volkswagen</option>
</select> 

这是$html的一个片段,整个页面相当大。 打印 html 的子字符串表明,当 '

@Poonam:当我在 ob_clean_end() 之后再次打印 $html 时,会添加第二条记录。

现在我已经实施了一个非常粗略的解决方法。由于记录有时间戳,如果最后一条记录的时间不超过 1 秒,我会阻止添加第二条记录。我讨厌它,但现在它有效。

Gr. Han

/** 更新

这个问题不是来自 cURL,尝试使用 file_get_contents 做同样的事情会做同样的事情。

也许原因在于我正在使用的 mod_rewrite 。

Gr. Han

/** 更新

最有可能的是 mod_rewrite。当使用直接 URL 而不是通过重写规则时,它的行为符合预期。

这些是我正在使用的重写规则:

RewriteEngine On
RewriteRule ^zoek/(.*)$ parts.php?PARAMS=$1 [L]

Parts.php 是上面发布的脚本。

Gr. Han


将 CURLOPT_RETURNTRANSFER 设置为 false 并执行curl_exec($ch) 而不是$html =curl_exec($ch)。然后curl输出将直接返回到浏览器。

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

php cURL 脚本在打印返回字符串时运行两次 的相关文章

  • 学说“没有命名的协会”

    将我添加到无法找出其学说映射出了什么问题的人列表中 我正在模拟国际象棋Game与一对多Halfmoves 有任何想法吗 DDL create table game game id int primary key create table h
  • header() 错误未在 php 中显示

    我写了一个PHP程序 我用session start and header 函数 我知道在向客户端发送任何内容之前应该使用此函数 没关系 但是为了测试 我向客户端发送了一条测试消息echo test 在使用 header 之前 但我没有收到
  • 更新重复密钥上的复合密钥 [重复]

    这个问题在这里已经有答案了 我需要更新新行 如果两者都满足 date dat and empId who 作为复合键 但如果其中之一或两者不同 则插入 sql INSERT INTO history SET endtimestamp now
  • Ubuntu 18.04升级后php7.2-curl无法安装

    今天从 16 04 升级到 18 04do release upgrade d 在升级过程中 我被告知一些软件包将被删除 其中包括 删除 libperl5 22 lxc common perl modules 5 22 php imagic
  • 访问 public_html 级别之外/以下的文件

    如何通过 url 访问文件 home uzair etc index php 即使我运行域 something com 它显示了 home uzair public html index php 这个文件 任何人请帮助我如何访问放置在 ho
  • 如何比较两个字符串的大小写和变音符号不敏感?

    我有两根弦 字符串 1 塞巴斯蒂安 字符串 2 塞巴斯蒂安 我想通过忽略 重音 字符来比较这两个字符串 谁能知道这个逻辑吗 提前致谢
  • PHP:如何防止不必要的换行

    我正在使用 PHP 创建一些基本的 HTML 标签始终相同 但实际链接 标题对应于 PHP 变量 string p a href strong i title i i strong a br echo string fwrite outfi
  • CSS 无法与 CodeIgniter 一起使用

    这是我的 CI 代码的一部分 class page extends CI Controller var Page public function construct parent construct this gt Page 1 this
  • PHP 的 PDO 可以限制为单个查询吗?

    PHP 的 PDO 允许通过 query 方法或作为准备好的语句同时执行多个查询 以下两个示例均有效 Two SQL queries query SELECT FROM table DROP table Execute via query
  • PHP 相等变量

    我想知道是否有任何方法可以检查大量变量是否相等 如果我只有几个变量 我可以这样做 if a b a c b c 但是 如果我有 20 个变量 则需要一些时间来编写所有组合 还有其他方法吗 if count array unique arra
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 从数据库 MYSQL 和 Codeigniter 获取信息

    如果你们需要其他信息 上一个问题就在这里 从数据库中获取信息 https stackoverflow com questions 13336744 fetching information from the database 另一个更新 尽
  • Laravel 8、Sanctum、Fortify /logout 在 Postman 中抛出“CSRF 令牌不匹配”

    我安装了 L8 Sanctum 和 Fortify 进行身份验证 我以前可以 login 使用了Pre request Script设置X XSRF TOKEN 我什至得到了 api user成功地 但当我这样做时 logout 我在 Po
  • 通过ajax执行后期操作时如何克服CORS重定向问题?

    我可以通过外部登录表单中的 post 方法类型提交表单来登录 roundcube 实例 托管在另一台服务器上 我收到此错误 通过 ajax 签名时 XMLHttpRequest 无法加载https 192 168 0 7 mail http
  • Laravel - 覆盖模型 ID

    我正在开发电子书管理系统 我使用 UUID 而不是自动递增整数主键 它工作得很好 protected static function boot parent boot static creating function model model
  • 如何使用 PHP 从 MySQL 检索特定值?

    好吧 我已经厌倦了 过去一周我花了大部分空闲时间试图解决这个问题 我知道 SQL 中的查询已更改 但我无法弄清楚 我能找到的所有其他帖子似乎都已经过时了 如果有人能帮助我 我将非常感激 我想做的就是使用手动输入数据库的唯一 密码 来检索行的
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • 无法与站点通信以检查致命错误

    无法与站点通信以检查致命错误 因此 PHP 更改已恢复 您需要通过其他方式上传 PHP 文件更改 例如使用 SFTP 有什么解决办法 我正在 WordPress 中编辑头文件 遇到这个问题 尝试这个 我有同样的问题并决定调查一下 更改 wp
  • 禁用/启用用户访问/下载,但允许 php 编辑 - 使用 chown 和 chmod

    我想 move uploaded files到某个文件夹 比方说http localhost myproject protected 并且 PHP 应该能够rm mv cp 里面的一切protected 例如 启用 禁用用户对任何文件的访问
  • 如何移动 Zend_Layout 的“视图”

    通常它会是这样的结构 application modules somemodule views scripts index index phtml 我如何将其移动到 application templates somemodule temp

随机推荐

  • 如何在jquery中移动鼠标上的文本?

    如何使鼠标悬停时链接向左移动 我希望鼠标移开时文本移回 用jquery可以吗 请帮忙 谢谢 无论 CSS 是否在 jQuery 中 您都会使用 CSS 不知道为什么要使用 jQuery 但无论如何 这里有一个示例 a href Move m
  • Android Studio中EditText与其Id的关系?

    请仔细阅读我的问题 我在学习Activity LifeCycle 我只有一个EditText and a TextView在我的 XML 布局中具有某些id 当我旋转屏幕时 似乎没有任何变化 因为旋转不影响EditText 但是当我删除id
  • Android 任务亲和力解释

    属性具体是什么taskAffinity用于 我已经经历了文档 http developer android com guide topics manifest activity element html aff但我不太明白 谁能用通俗易懂的
  • git add、commit 和 push 命令合二为一?

    有什么办法可以将这三个命令合二为一吗 git add git commit a m commit do not need commit message either git push 有时我只更改一个字母 CSS 填充或其他内容 尽管如此
  • 如果应用程序被杀死,应用程序处于后台时收到的远程通知不会点击“didReceiveRemoteNotification - fetchCompletionHandler”方法?

    我们实现了以下方法来接收远程通知 并启用了 项目功能下的后台获取和远程通知 即使应用程序位于前台或后台 方法也会命中 但是 如果应用程序被杀死 在后台收到通知 则不会调用以下方法 如何解决这个问题 void application UIAp
  • 尝试使用 Maven 导入 o​​racle jdbc7 驱动程序时出错

    我无法使用 Maven 导入 jdbc7 oracle 驱动程序 我按照教程中的方式执行了所有操作甲骨文博客 https blogs oracle com dev2dev entry how to get oracle jdbc pom但我
  • 从日志文件中解析文本和 JSON 并将它们保存在一起

    我有一个包含文本字符串和 json 的 log 文件 例如 A whole bunch of irrelevant text 2022 12 15 12 45 06 run 1 user james json value 30 error
  • 如何修复“无法通知构建侦听器”错误?

    打开我的电脑时出现此错误 并打开Android Studio Gradle 构建花费的时间比正常情况要长 当它最终构建时出现了这个错误 这可能是由于将我的工作从 PC 错误地提交到我的笔记本电脑 通过 GitHub 造成的 但我不确定我是新
  • Spring 集成 TCP。获取已连接客户端的连接ID

    我在这里遇到动态 TCP 连接方法的问题 Spring IP 动态 FTP 示例 https github com spring projects spring integration samples tree master advance
  • 从sql返回多个值到标签

    我有标签
  • IIS 8.5 中的 HttpModule 未加载

    我用 C 为 IIS 8 5 编写了一个简单的托管 HttpModule 并将其安装到全局程序集缓存中 CLR 版本 4 0 30319 IIS 检测到它存在 并且我已将其作为应用程序主机级别的模块安装 不幸的是 它似乎根本没有被执行 我们
  • 利用 Bootstrap Carousel“slide”事件和 .next 类

    所以我遇到了一个小问题 类似于我前几天发布的这个问题 http bit ly 11JpbdY http bit ly 11JpbdY 在加载时隐藏的一段内容上使用 SlabText 这次 我试图让slabText 更新滑块中某些内容的显示
  • 可以将活动的 Microsoft Word 窗口转换为 WPF 窗口吗?

    我创建了一个 Microsoft Word 2010 vsto 加载项 当用户单击功能区按钮时 它会显示许多自定义 Wpf 窗口对话框 我遇到的问题是 如果单击任务栏中的 Word 图标 自定义对话框会在 Word 实例后面消失 经过一番谷
  • R 中 model.matrix 中有序因子的列名称

    我使用创建了一个设计矩阵model matrix功能 如果我使用有序因子数据 我得到L Q and C列名称中的后缀 这些后缀的含义是什么以及它们如何映射到因子水平 帮助文件为model matrix对于这个问题还不清楚 head mode
  • 如何让 VS 2008 停止强制命名空间缩进?

    我从来都不太喜欢大多数编辑器处理名称空间的方式 他们总是强迫你添加额外的东西无意义压痕级别 例如 我在一个页面中有很多代码 我更喜欢将其格式化为 namespace mycode class myclass void function fo
  • golang:在 Windows 上运行 pdf 文件的默认应用程序

    我想使用默认应用程序在文件系统中打开 PDF 文件 我怎样才能做到这一点 在命令行中 我只需编写 pdf 文件的文件名 应用程序就会打开 包含请求的文件 当我尝试使用时exec Command 我收到一个错误 毫不奇怪 exec foo p
  • v-model 不支持输入类型=“文件”

    我不能使用v model对于文件输入 Vue 说我必须使用v on change 好的 我可以使用v on change 但是如何将输入文件的 内容 绑定到data财产 假设我想将它绑定到一个组件中this file export defa
  • 片段中的片段不刷新

    这是我的应用程序 带有片段 左侧有一个ListView 您可以在其中进行选择 如果您选择了右侧之一 则加载一个片段并将选项卡添加到 ActionBar 有这样的代码 import java util ArrayList import and
  • 实现多个用户角色

    我使用 state machine 取得了巨大的成功 并且喜欢它通过几行代码动态创建的类方法 但是 我不确定如何继续我正在创建的系统 我目前正在开发一个用户具有多种角色的系统 所以这并不像拥有一个状态来自的用户那么简单未证实 to 确认的然
  • php cURL 脚本在打印返回字符串时运行两次

    我有以下脚本 在远程 php 脚本中 一条记录被添加到数据库表中 当我在这个脚本中留下最后一行 print html 时 添加了 2 条记录 当我省略该行时 仅添加一条记录 但显然我没有任何输出 如果我将输出写入文件 则仅添加一条记录 输出