如何在 PHP CURL 中从 POST 切换到 GET

2024-01-10

我尝试过从以前的 Post 请求切换到 Get 请求。它假设它是一个 Get,但最终会发布一个帖子。

我在 PHP 中尝试了以下操作:

curl_setopt($curl_handle, CURLOPT_POSTFIELDS, null);
curl_setopt($curl_handle, CURLOPT_POST, FALSE);
curl_setopt($curl_handle, CURLOPT_HTTPGET, TRUE);

我缺少什么?

附加信息: 我已经有一个设置为执行 POST 请求的连接。成功完成,但稍后当我尝试重用连接并使用上面的 setopts 切换回 GET 时,它仍然最终在内部使用不完整的 POST 标头执行 POST。问题是它相信它执行了 GET,但最终放置了一个没有内容长度参数的 POST 标头,并且连接失败并出现 411 错误。


确保在执行 GET 请求时将查询字符串放在 URL 末尾。

$qry_str = "?x=10&y=20";
$ch = curl_init();

// Set query data here with the URL
curl_setopt($ch, CURLOPT_URL, 'http://example.com/test.php' . $qry_str); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$content = trim(curl_exec($ch));
curl_close($ch);
print $content;

使用 POST,您可以通过 CURLOPT_POSTFIELDS 选项传递数据 将其传递到 CURLOPT_URL 中。

$qry_str = "x=10&y=20";
curl_setopt($ch, CURLOPT_URL, 'http://example.com/test.php');  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);

// Set request method to POST
curl_setopt($ch, CURLOPT_POST, 1);

// Set query data here with CURLOPT_POSTFIELDS
curl_setopt($ch, CURLOPT_POSTFIELDS, $qry_str);

$content = trim(curl_exec($ch));
curl_close($ch);
print $content;

注意来自curl_setopt() docs http://php.net/curl_setopt for CURLOPT_HTTPGET(强调):

[设置 CURLOPT_HTTPGET 等于]TRUE to resetHTTP 请求方法为 GET。
由于 GET 是默认设置,因此仅当请求方法已更改时才需要这样做。

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

如何在 PHP CURL 中从 POST 切换到 GET 的相关文章

  • xampp openssl 调用 openssl_pkey_new() 时出错;

    所以我试图让 openssl 在我的 Windows 安装的 xampp 1 7 3 上工作 它是用 OpenSSL 0 9 8l 构建的 这只是我第二次在 amp 安装上安装 openssl 但第一次进展顺利 这是在同一台机器上的 wam
  • 限制传出 PHP+curl 请求的速率

    有没有办法限制 有延迟 向外部服务器发出 PHP curl 请求的速率 以便每秒只有 n 个请求 PHP 在 Fastcgi 模式下使用 因此无法使用睡眠 是的 有curl 多重处理程序 您可以使用 OOP 方式以 OOP 方式完成此操作这
  • 删除 cookie php

    我正在尝试创建一个带有登录系统的平台 并将用户名和密码存储在cookie中 以使用户即使关闭浏览器然后再次输入也能保持登录状态 我设法保存了cookie 但我不知道如何制作注销按钮 这是代码 function logout body app
  • 如何检查文件是否为php?

    我想检查文件是否具有扩展名 php 如果有的话我会把它包括在内 有人可以帮我进行正则表达式检查吗 thanks 通常您不使用正则表达式 以下是一种流行的方法 extension pathinfo filename PATHINFO EXTE
  • 未找到“Twilio\Rest\Client”类

    我正在尝试使用 twilio php api 这是我的代码
  • Yii2 从 MySQL 中的表登录的分步指南

    我开始在 Yii2 中迈出第一步 到目前为止 我已经能够编写一个应用程序并将数据库中的表连接到它 就像我在 Yii1 中学到的那样 该表是contacts我的创建视图中的表单将数据发送到数据库 没有任何问题 问题是我只能在 Yii2 内置的
  • MySQL 错误“连接过多”

    我正在将 MySQL 5 0 用于由 GoDaddy linux 托管的网站 我正在对我的网络应用程序进行一些测试 突然我注意到页面刷新速度非常慢 最后 经过漫长的等待 我到达了一个页面 上面写着 MySQL 错误 连接太多 它指向我连接到
  • 在 Twig 中使用 PHP 函数

    我有一个 PHP 代码 用于在我的通用控制器中为我的 Twig 模板添加一个新类 opencart htdocs catalog controller common cart php 该代码应检查设备是否是移动设备 function onS
  • 尝试编译 git 但在 linux 中找不到 libcurl

    我想编译支持 http https 的 git 我有 ls usr include curl curlbuild h curl h curlrules h curlver h easy h mprintf h multi h stdchea
  • Amazon ec2 无法在 ios 上发送推送通知

    我在 Amazon ec2 php 7 中使用以下 php 代码
  • 使用以太坊 RPC 获取代币余额?

    如何通过以太坊RPC显示代币余额 id 0 data array data jsonrpc 2 0 data id id data method eth call data params from gt 0x0 to gt 0x0 data
  • 在php中用逗号替换空格和换行符

    我搜索过但找不到任何有帮助的东西 所以 我有一堆数据 我基本上只需要在它们之间添加逗号 这些数据都来自记录 所以它的形式如下 13 566 888 958 898 我需要像这样输出 13 566 888 958 898 如果我可以将任意 2
  • Curl 请求中的字符发生变化

    当我查看使用以下代码获得的 XML 数据源时 XML 代码中的特殊字符是正确的 然而 当 Curl 返回数据时 像 和 这样的字符会被转换为 resp 和 这种转换发生在所有特殊字符上 这两个只是一个例子 myvar curl init m
  • 在 VS Code 中调试 PHPUnit 测试?

    我最近配置了 VS code 以使用 xdebug 调试 PHP 它与我的应用程序代码一起可靠地工作 但是当我使用 PHPunit 运行单元测试时 我的断点被忽略 我的服务器在一个流浪盒子内运行 My php ini文件包含以下行 xdeb
  • 使用 Facebook API 在朋友的墙上发布帖子

    我希望我的 Facebook 应用程序能够获取使用该应用程序的用户的 ID 并在他们的一位朋友的墙上找到该 ID 发布的帖子 我更喜欢使用个人 ID 的示例 而不是迭代所有朋友 我认为两个用户很可能都必须向应用程序提供权限才能执行此操作 这
  • 获取本周星期一和星期五的日期 (PHP)

    如何获取本周周一和周五的日期 我有以下代码 但如果当天是星期日或星期六 则会失败 current day date N days to friday 5 current day days from monday current day 1
  • 使用 PDO 的基于 PHP 类的用户系统 - 调用非对象上的成员函数prepare()

    我做了相当多的研究 故障排除和搜索 试图解决我的问题 但没有运气 所以这是错误 调用非对象上的成员函数prepare 生成此错误的代码位于我的用户 Auth 类中 如下所示 this gt dbManager gt db gt prepar
  • bash.sh 运行 cron 的权限被拒绝

    如何在这里使用 bash 脚本运行 cron 我做了如下操作 这里有错误 我想知道如何在 ubuntu 中做到这一点 我现在对它感到震惊 bash sh 文件 bin bash cd var www Controller usr bin p
  • 开发中的 Laravel 和视图缓存——无法立即看到变化

    我和一些朋友决定开始一个项目 我们偶然发现了 Laravel 并认为它可能是一个很好的工具 我们开始在本地使用它来开发一些页面 并注意到一些奇怪的事情 当我们用不同的信息更新视图时 大约需要 5 到 10 分钟视图信息才会发生变化 这就像
  • 如何用破折号替换所有大写字母,用正则表达式替换所有小写字母?

    如何在 php 中用破折号和小写字母替换所有大写字母 Such as understandRegexBetter to understand regex better 我的 Google fu 和对以下代码的实验并没有让我走得太远 echo

随机推荐

  • 检索超过 7 天的特定用户的推文

    我正在尝试获取任何用户的推文 但它只返回最近 7 天的推文 我想检索比这更旧的推文 如何做 现在我正在通过以下方式获取推文 http search twitter com search atom q from 3Amihirpmehta h
  • bash:Python 导入 - 找不到 pandas 命令

    我是使用 MacBook 的 Python 初学者 我想进口pandas在我的 Python 脚本中 我输入以下命令 import pandas as pd 结果是 错误 bash 导入 找不到命令 问题 如何启用导入命令 我用了 usr
  • @Qualifier 的问题

    我正在 Java Spring 环境中工作 并且在让 Qualifier 工作时遇到问题 我们项目的其他部分正在使用 Inject 来获取一个 bean 但我需要有同一个 bean 的两个版本 看起来使用 Autowired 和 Quali
  • 如何使用 Java 解析此 XML?

  • Telnet smtp.mail - 必须首先发出 STARTTLS 命令

    在我的 Mac 终端上 我试图telnet进入我的smtp gmail com通过port 587 在 Google Apps 设置为管理 Dreamhost 域 上 我配置了中继 如下所示 Allowed senders Only add
  • bash:提取路径名的最后两个目录

    我似乎在 bash 中失败了一些非常简单的事情 我有一个字符串变量 它保存目录的完整路径 我想分配最后一个two将其中的目录转换为另一个字符串 例如 如果我有 DIRNAME a b c d e 我想要 DIRNAME2 d e 我确信有一
  • 如何将带有 null 终止字符的字节数组转换为 Java 中的字符串?

    如何从字节数组创建 String 对象 byte arr MAX SIZE Java 其中数组元素之一是 C 空终止字节 是不是像打电话那么简单 String str new String arr String 构造函数是否知道自动停止在空
  • 在混合应用程序中,如何确认只有您的应用程序正在访问服务器端页面

    混合应用程序显然有点新 因此很难找到这方面的好信息 我知道我需要在服务器端页面上允许跨源资源共享 但这显然会增加安全缺陷 在phonegap cordova应用程序上 我只有通过ajax调用服务器端页面的客户端控制 这意味着任何人都可以访问
  • 在 OpenGL 中动态更改纹理

    我有一些生成图像的 OpenCV 代码 我使用 OpenGL 显示这些 创建新图像时 我使用相同的值运行以下函数 每次 texture名称和新的image void loadCVTexture GLuint texture const cv
  • Twilio - 响铃 2 次后转接呼叫

    是否可以使用 Twilio 将来电转移到电话号码 A 假设 416 555 1234 并且如果电话号码 A 占线或在响铃 2 或 3 次后无人接听 则转移到电话号码 B XML 现在看起来像这样
  • 如何检查 h2 数据库健康状况和损坏情况

    我在 JavaFX 8 桌面应用程序中以嵌入模式使用 h2 数据库 并且我为用户开发了一个选项来备份和恢复数据库文件 在旧版本的程序中 我使用了 SQLite 数据库 并且使用 pragmaintegrity check 命令检查数据库文件
  • 如何更改levatedButtonTheme中的ElevatedButton文本颜色?

    我正在尝试更改主题中levatedButtonTheme 属性中的ElevatedButton 文本颜色 但无法更改 我知道 Text 的子元素中的 TextStyle 可以更改 Text 的颜色 但我更喜欢在levedButtonThem
  • 什么是格洛姆?它与mapPartitions有何不同?

    我遇到过glom RDD 上的方法 根据文档 返回通过将每个分区内的所有元素合并到数组中创建的 RDD Does glom跨分区混洗数据还是仅将分区数据作为数组返回 在后一种情况下 我相信使用同样可以实现mapPartitions 我还想知
  • 如何在 mysql (laravel) 中使 varchar 可以为空且唯一

    我可以使 MySQL 列可以为空并且唯一吗 我有一个存储用户 Email id 的表 如果用户想提供的话 否则它将是 空 我在其他一些问题中读到我可以创建一个默认为 NULL 的唯一字段 但我在创建表时收到此错误 1067 Invalid
  • OS X cmake 找不到 PythonLibs 3.4

    python 和 python3 通过 Homebrew 安装在 OS X Yosemite 中 但 cmake 找不到 PythonLibs 3 只有 2 个 CMakeLists txt set Python ADDITIONAL VE
  • 从 Postgres JDBC 中的结果集中读取 UUID

    我正在使用 UUID 作为我的 id 列 我正在寻找一种方法来检索我的 Java 应用程序中的数据 我在 ResultSet 中找不到获取 UUID 的方法 我该如何获取 UUID 对于任何搜索的人来说 这是如何完成的 java util
  • 使用 OAuth 2.0 通过 SMACK Java 库进行 X-FACEBOOK-PLATFORM 身份验证

    第一次在这里发帖 所以请温柔 我正在使用 Smack 库构建一个 Facebook 聊天客户端 我正在使用 X FACEBOOK PLATFORM 方法 以免保存任何密码 我使用 oauth 1 0 使其正常工作 并想将其更改为 2 0 这
  • javascript for 循环内的异步过程[重复]

    这个问题在这里已经有答案了 我正在运行以下形式的事件循环 var i var j 10 for i 0 i lt j i asynchronousProcess callbackFunction alert i 我试图显示一系列显示数字 0
  • Objective-C JSON - 将 JSON 对象转换为本机对象?

    status FRE list make Toyota id 1 model camry engine Four Cylinder make Ford id 3 model focus engine Four Cylinder 我如何提取每
  • 如何在 PHP CURL 中从 POST 切换到 GET

    我尝试过从以前的 Post 请求切换到 Get 请求 它假设它是一个 Get 但最终会发布一个帖子 我在 PHP 中尝试了以下操作 curl setopt curl handle CURLOPT POSTFIELDS null curl s