You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

软件按指定格式发送POST请求失败,如何调整PHP程序?

解决软件提交数据无法保存到proxies.txt的问题

嘿,我一眼就看出问题所在了!你的网页表单是用POST方式提交数据的,所以post.php里的$_POST['proxies']能拿到值;但你的软件发送的请求格式是http://website.com/postform?proxies=%content%——这其实是GET请求(参数直接挂在网址后面),而不是真正的POST请求,所以post.php根本拿不到这个参数,自然保存失败啦。

给你两个简单的解决方案,选哪个都行:

方案1:让post.php同时兼容GET和POST请求(推荐,不用改软件)

直接修改post.php的代码,让它既能读取POST参数,也能读取GET参数,这样不管是表单提交还是软件请求都能正常工作:

<?php
// 先尝试拿POST参数,没有的话再拿GET参数,防止空值报错
$proxies = $_POST['proxies'] ?? $_GET['proxies'] ?? '';

// 确保有内容再写入文件
if (!empty($proxies)) {
    $file = 'proxies.txt';
    // 如果你不想每次提交都覆盖旧内容,就用下面这行(追加新内容并换行)
    // file_put_contents($file, $proxies . PHP_EOL, FILE_APPEND);
    file_put_contents($file, $proxies);
}
?>

然后把软件的请求地址改成http://website.com/post.php?proxies=%content%(直接指向处理脚本,不用经过postform.php),这样软件发送的请求就能被正确处理,原来的网页表单功能也完全不受影响。

方案2:让软件发送真正的POST请求(如果软件支持配置)

如果你的软件允许设置请求方法,那可以直接把请求地址设为http://website.com/post.php,然后把参数proxies=%content%放在POST请求体里(而不是网址后面),这样不用改任何PHP代码,就能和表单提交一样正常工作。

几个重要的小提醒

  • 权限检查:确保proxies.txt所在的文件夹有写入权限,不然即使代码对了也存不了文件
  • 输入过滤:如果这个接口是公开的,最好给$proxies加个简单过滤,比如trim($proxies)去掉前后空格,防止乱码或者恶意内容
  • 追加写入:如果想保留每次提交的内容,记得用FILE_APPEND参数,比如file_put_contents($file, $proxies . PHP_EOL, FILE_APPEND),这样每条内容单独一行,不会覆盖旧数据

内容的提问来源于stack exchange,提问作者 elison

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:47:54