【问题标题】:commandline / cron curl Facebook RSS feed命令行 / cron curl Facebook RSS 提要
【发布时间】:2009-11-05 21:13:54
【问题描述】:

我正在尝试设置一个 cron 作业,该作业定期发送我的 Facebook 通知 RSS 提要,然后使用 Prowl 将最新的更改作为推送消息发送到我的 iPhone。

我已经使用每日报价 RSS 提要完成了相同的任务,但是我的 Facebook RSS 提要总是 302 将我重定向到“不兼容的网络浏览器”。 http://www.facebook.com/common/browser.php

$ curl -v http://www.facebook.com/feeds/notifications.php?....
* About to connect() to www.facebook.com port 80 (#0)
*   Trying 69.63.181.11... connected
* Connected to www.facebook.com (69.63.181.11) port 80 (#0)
> GET /feeds/notifications.php?id=... HTTP/1.1
> User-Agent: curl/7.18.2 (x86_64-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.10
> Host: www.facebook.com
> Accept: */*
> 
< HTTP/1.1 302 Found
< Location: http://www.facebook.com/common/browser.php
< P3P: CP="DSP LAW"

我需要在 curl 参数中添加什么来欺骗 Facebook,我认为它需要的不仅仅是用户代理?

【问题讨论】:

    标签: facebook rss curl


    【解决方案1】:

    您需要通过-A 选项传递适当的用户代理值来欺骗Facebook(例如“Mozilla 4”),并通过-L 选项指示curl 跟随重定向:

    $ curl -A 'Mozilla 4' -L "http://www.facebook.com/feeds/notifications.php?id=..."
    <rss version="2.0"
          xmlns:media="http://search.yahoo.com/mrss/"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
        >
    ...
    </rss>
    

    【讨论】:

    • 工作了请客。我没有将 -L 位置参数与 -A 用户代理一起使用。 2人一起成功了。谢谢。
    猜你喜欢
    • 2015-05-18
    • 2013-07-24
    • 2015-05-28
    • 2021-01-25
    • 1970-01-01
    • 2015-06-07
    • 2014-09-22
    • 1970-01-01
    • 2020-01-25
    相关资源
    最近更新 更多