2010-09-29 73 views
2

我需要從需要登錄的網站下載電影文件。我開始使用機械化原型創建腳本,但我想知道如果Curl支持將用戶名和密碼發送到服務器,這會使我的工作速度更快。使用捲曲下載需要登錄的文件

回答

1

我會使用httparty而不是捲曲。它支持認證。(http://httparty.rubyforge.org)

sudo的創業板安裝httparty

這裏是顯示從網站採取認證的例子。

class Twitter 
    include HTTParty 
    base_uri 'twitter.com' 
    basic_auth 'username', 'password' 
end 

Twitter.post('/statuses/update.json', :query => {:status => "It's an HTTParty and everyone is invited!"}) 
+0

不幸的是,HTTParty不支持文件。 :(http://groups.google.com/group/httparty-gem/browse_thread/thread/fe8a3af8c46e7c75 – picardo 2010-09-29 21:02:35

+0

我發現我仍然可以使用File.open(「/tmp/my_movie.mov」,「w 「)do | movie | movie << HTTParty.get(」http://example.com/movie.mov「) end – picardo 2010-09-30 16:10:57

1

如果是HTTP基本身份驗證,您可以使用-u開關...如果沒有記錯...

curl ... -u username:password ...

如果不是HTTP基本的,你可能需要看看請求和響應來查看正在傳遞的內容,並且自動執行此過程可能不太可行。另外,如果有更詳細的登錄配置,網站的條款和條件可能會阻止你做你想做的事情,所以可能值得檢查。