Curl 是否通过cronjob将action=updatenow发送到服务器?

Curl 是否通过cronjob将action=updatenow发送到服务器?,curl,cron,wget,postdata,Curl,Cron,Wget,Postdata,我是一个网站的成员,每次我访问该网站时,当我按下更新按钮时,都会收集游戏的统计数据。。我希望这种情况每天自动发生一次,我被告知,这应该可以通过一个cronjob实现 网页为: 棘手的部分是,更新是由javascript触发的。。但据我所知,javascript只是: $.ajax( { type:"POST", data: { action: "updatenow" }, }) } (但不确定) 有人能帮我找到通过cronjob每天自动触发一次更新的方法吗?你可以用。C

我是一个网站的成员,每次我访问该网站时,当我按下更新按钮时,都会收集游戏的统计数据。。我希望这种情况每天自动发生一次,我被告知,这应该可以通过一个cronjob实现

网页为:

棘手的部分是,更新是由javascript触发的。。但据我所知,javascript只是:

$.ajax(
  {
    type:"POST",
    data: { action: "updatenow" },
  })
}
(但不确定)

有人能帮我找到通过cronjob每天自动触发一次更新的方法吗?

你可以用。Curl允许您构造url get和POST来模拟浏览器操作(还支持其他HTTP类型)。您可以通过执行以下类似操作来实现卷曲:

curl -L -i -v -c sitecookie.txt -b sitecookie.txt -d action=updatenow http://bfbc2.statsverse.com/stats/ps3/ChiefOfVikings/
选择是

  • -L
    =跟随重定向(HTTP 301或302)
  • -i
    =在输出中包括从服务器返回的HTTP头
  • -v
    =冗长
  • -c
    sitecokie.txt=将cookie写入sitecokie.txt
  • -b
    sitecokie.txt=将数据发送到url时从sitecokie.txt读取cookie
  • -d action=updatenow
    =HTTP POST action=updatenow到url
如果服务器是HTTPS加密的,您可能还需要
-k
。有关更多选项和文档,请参阅

最后需要注意的是,您发布到的url必须是ajax发送到的url


一旦从命令行执行此操作,请将其放入脚本中,然后每天从cronjob运行该脚本。

通常,您会在同一台机器上运行cron作业,并在本地执行该作业,而不是通过对web服务器的请求。该脚本会获取页面,但不会将播放机添加到更新队列中,什么都没发生。。。也许我忽略了什么。。。?[link][/link]这不是要发布到的正确url,或者您需要随action=updatenow一起发送其他字段。请尝试fiddler for IE或tamperdata for firefox,查看ajax帖子正在做什么,然后复制它