2009-11-05 8 views
0

J'essaye de configurer un travail de cron qui pèle régulièrement mon fil de RSS de notification de Facebook et tire alors le dernier changement à mon iPhone en tant que message de poussée en utilisant Prowl.commandline/cron curl Flux RSS de Facebook

J'ai déjà géré une tâche identique avec un flux RSS de devis, mais mon flux RSS Facebook me redirige toujours vers un "navigateur web incompatible". 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" 

Que dois-je ajouter à mes paramètres curl pour tromper Facebook, je pense qu'il a besoin de plus que juste un agent utilisateur?

Répondre

6

Vous devez passer une valeur d'agent utilisateur approprié pour tromper Facebook (par exemple, "Mozilla 4") via l'option -A, ainsi que des instructions curl à suivre réoriente via l'option -L:

$ 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> 
+0

travaillé un régal ta. Je n'avais pas utilisé -L paramètre d'emplacement avec -Un agent-utilisateur. Les 2 ensemble ont fait le tour. Je vous remercie. – fwd4

+0

Juste édité pour expliquer l'option '-L' – notnoop