【问题标题】:CURL: PHP : can't submitCURL:PHP:无法提交
【发布时间】:2012-08-01 23:38:31
【问题描述】:

我需要编写一个 php 脚本来登录我的管理页面然后提交 rss。 我可以使用下面的代码登录,但无法提交 rss

 <?php

function rssadd($url,$post,$post2) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);

$ch2 = curl_init($url);
curl_setopt($ch2, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4');
curl_setopt($ch2, CURLOPT_POST, 1);
curl_setopt($ch2, CURLOPT_POSTFIELDS, $post2);
curl_setopt($ch2, CURLOPT_REFERER, $url);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
$result2 = curl_exec($ch2);
return $result . $result2;

}
    $page2 = rssadd('http://site.com/admin.php?mod=rss&action=news&id=4','subaction=dologin&username=admin&password=pass','subaction=doit');

echo $page2;

?>

“http://site.com/admin.php?mod=rss&action=news&id=4”上的 html 我无法提交

 <input type="submit" name="subaction" value="doit" class="buttons">

【问题讨论】:

    标签: php curl


    【解决方案1】:

    也许您需要在请求之间保留 cookie?尝试将CURLOPT_COOKIEFILE 设置为''(空字符串)。您还需要对两个请求使用相同的 curl 句柄 - 而不是关闭第一个句柄并初始化一个新句柄,只需更改第一个句柄的选项并再次运行它。

    我最初是从这个 Stack Overflow 答案中了解到如何做到这一点的:https://stackoverflow.com/a/5758471/638544

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-22
      • 2011-04-11
      • 2017-12-07
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 2013-01-25
      • 2012-04-19
      相关资源
      最近更新 更多