CURL:PHP:无法提交
问题描述:
我需要编写一个php脚本,将登录到我的管理页面,然后提交rss。 我可以用下面的代码登录,但不能提交RSSCURL:PHP:无法提交
<?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;
?>
的HTML的“http://site.com/admin.php?mod=rss &行动=新闻& “我不能提交
<input type="submit" name="subaction" value="doit" class="buttons">
答
也许你需要保留之间的cookie请求?尝试将CURLOPT_COOKIEFILE
设置为''
(空字符串)。您还需要在两个请求上使用相同的卷曲控制柄 - 而不是关闭第一个控柄并初始化一个新控柄,只需更改第一个控柄上的选项并再次运行即可。
我原本学会了如何做到这一点从这堆栈溢出答案:https://*.com/a/5758471/638544