PHP4 HTTP Post 不带 cURL

2024-03-22

我有以下代码,可在 PHP5 上运行,无需使用 cURL 即可发送 HTTP POST。我希望它可以在 PHP 4.3.0 及更高版本上运行:

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n" . "Content-Type: application/json\r\n",
        'content' => $query
    )
);
$context  = stream_context_create($opts);
$result = file_get_contents($url, false, $context);

仅 PHP5 支持 HTTP 上下文。无论如何,有没有办法让这个与 PHP 4.3.0 一起工作 - 如果没有安装 PHP5 或 cURL,我需要一个后备方法。


您不应该使用 PHP 4。它已停产,因此不会收到任何安全补丁。

如果你想自己写点东西,你想从fsockopen() http://www.php.net/manual/en/function.fsockopen.php。有一个基本示例可以执行您想要的操作,并且将其转换为 POST 请求应该不会太难。我使用数据包嗅探器 (Wireshark) 来获取 HTTP 示例,我可以(本质上)将其复制并粘贴到我的 PHP 应用程序中,但是规范和大量示例可以在线获取。

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

PHP4 HTTP Post 不带 cURL 的相关文章

随机推荐

  • Mockito 根据参数的属性返回值

    通常当使用 Mockito 时我会这样做 Mockito when myObject myFunction myParameter thenReturn myResult 是否可以按照以下方式做一些事情 myParameter setPro
  • Maven Release Plugin - 准备创建快照版本而不是发布版本的标签

    我有以下项目结构 framework 框架 父 pom 框架的东西 在framework parent pom的pom xml中我定义了以下插件
  • 配置log4net根据日志级别写入不同的文件

    我正在设置 log4net 并希望在 debug log 中写入调试消息 在 info log 中写入信息消息等 为此 我使用了几个附加程序 例如
  • Java Applet的安全警告提示

    从 JRE 1 7 update 55 开始 在某些情况下 并非总是如此 特别是如果我通过主机名而不是 IP 调用应用程序 即使我选中 不再显示此消息 也会始终显示安全警告 清单已根据最新指令修复 UPDATE 调查 JRE 安全日志时 我
  • vhdl中process语句的顺序执行

    对于vhdl中的process语句 据说process语句内部的执行顺序是连续的 我的问题是 请先看下面的代码 a b和c信号在进程语句中的if语句中是同时还是顺序分配给它们的新值 process clk is begin if risin
  • MySql:插入一行并获取内容

    是否可以插入一行并获取在同一查询中插入的值 就像是 INSERT INTO items item number state SELECT 3 number state FROM item bug WHERE id 3 然后 获取ID并执行
  • return 语句中两种不同的括号语法

    我正在关注 ReactJS 入门教程 https scotch io tutorials learning react getting started and concepts https scotch io tutorials learn
  • 如何让 Google 字体在 IE 中工作?

    我一直在开发一个使用谷歌字体 API https code google com apis webfonts 它很棒 据说已经在 IE 中进行了测试 但是在 IE 8 中测试时 字体根本没有样式化 我包括了谷歌的字体指示 http code
  • Cuda和pytorch内存使用情况

    我在用Cuda and Pytorch 1 4 0 当我尝试增加batch size 我遇到以下错误 CUDA out of memory Tried to allocate 20 00 MiB GPU 0 4 00 GiB total c
  • TfidfVectorizer.fit_transfrom 和 tfidf.transform 之间有什么区别?

    在 Tfidf fit transform 中 我们仅使用参数 X 而没有使用 y 来拟合数据集 这是正确的吗 我们仅为训练集的参数生成 tfidf 矩阵 我们没有使用 ytrain 来拟合模型 那我们如何对测试数据集进行预测呢 https
  • 如何以编程方式禁用 TextView maxLines?

    我很难重置maxLines的属性TextView以编程方式 刚刚尝试设置为0但它不起作用 1使应用程序崩溃 我可以使用更简单的解决方法并设置maxLines to 5000但我不想那样做 有什么想法如何做到这一点吗 UPDATED 好吧 我
  • Android 首选项屏幕布局

    我的应用程序中有以下首选项屏幕
  • Android P 中调用服务的 AlarmManager:startForegroundService

    我正在使用 AlarmManager 如下所示 它在 Android O 及以下版本中运行良好 AlarmManager mgr AlarmManager context getSystemService Context ALARM SER
  • NumPy ndarray 的三元运算符?

    NumPy 有三元运算符吗 例如 在 R 中 有一个向量化的if else功能 gt ifelse 1 10 lt 3 a b 1 a a b b b b b b b b NumPy 中有类似的东西吗 您正在寻找numpy where ht
  • File.renameTo() 没有任何效果

    我希望能够重命名文件夹列表 以便删除不需要的字符 例如 点和双空格必须变成单个空格 单击 GUI 中的按钮后 您将看到一个带有正确格式名称的消息框 这表明格式正确并且函数被调用 当我查看我创建的测试文件夹时 名称没有更改 即使刷新后也没有更
  • 在 haskell 中将整数列表转换为一个 Int (如 concat)

    和标题说的差不多 我有一个整数列表 如下所示 1 2 3 我想将其更改为整数 123 我的第一个想法是 concat 但这不起作用 因为它的类型错误 我尝试了各种方法 但通常最终只是返回相同的列表 非常感谢任何帮助 另外 我已经找到了一种打
  • Java:如何在枚举中使用构造函数重载?

    我正在使用 Java 中的枚举 正如我所看到的 可以重载枚举构造函数 我的问题是 在这种情况下 是否有可能从构造函数重载中受益 因为据我所知 既不可能自己调用 它 也不可能强制编译器调用您想要调用的特定构造函数 感谢您花时间向我澄清这些内容
  • 在C++中,1和1i64有什么区别?

    我正在将一些 32 位兼容代码转换为 64 位 但我遇到了障碍 我正在编译 VS2008 x64 项目 并且收到以下警告 warning C4334 lt lt result of 32 bit shift implicitly conve
  • CodeIgniter 图像上传 - 无法显示错误消息

    这是我的上传模型 function upload avatar id this gt tank auth gt get user id config upload parameters and upload image config arr
  • PHP4 HTTP Post 不带 cURL

    我有以下代码 可在 PHP5 上运行 无需使用 cURL 即可发送 HTTP POST 我希望它可以在 PHP 4 3 0 及更高版本上运行 opts array http gt array method gt POST header gt