2

我正在尝试编写一个脚本以使用 CURL 作为计费软件并修改 CCproxy 网络面板上的信息。

但我有一个问题:

这是我的代码:

$url="http://xxxxxxx:88/account";
$postfields["form"] = "1";
$postfields["adminpassword"] = "newpassword";
$postfields["changeadminpassword"] = "Modify";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, 'admin:password');


curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);


$data = curl_exec($ch);
curl_close($ch);

echo $data;

当我在没有 post 和 postfield 选项的情况下使用它时,我可以从 ccproxy Web 面板中回显所有用户列表,并且它只显示带有此 http 响应的页面源代码:

HTTP/1.0 200 OK 服务器:CCProxy Pragma:无缓存,无存储缓存控制:无缓存,无存储连接:关闭内容长度:200107 内容类型:文本/html

一开始它很好,但是当我尝试使用 postfields 和 post 方法时,我收到 http 302 错误并且没有任何工作,这是 http 响应:

HTTP/1.1 302 找到服务器:CCProxy 6.6 Pragma:无缓存,无存储缓存控制:无缓存,无存储位置:/account

请您告诉我如何将查询发布到 ccproxy 网络面板以修改用户或其他任何东西!

当我检查 HTML 表单时,操作字段是“帐户”,方法是“发布”

此外,当我使用此源代码创建 .html 文件时,它的工作!

<form action="http://xxxxxx:88/account" method="post" name="form">
<input type="text" value="newpassword" name="adminpassword">
<input type="submit" class="button" value="Modify" name="changeadminpassword">
</form>

谢谢

4

1 回答 1

2

302 是重定向http://en.wikipedia.org/wiki/HTTP_302

尝试添加此设置

curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
于 2012-08-10T16:35:51.297 回答