2010-08-11 107 views
1

首先,讓我說我對術語不熟悉,所以如果您看到某種情況,請務必幫助我改進措辭。檢索由javascript生成的CSV文件

我想要做的是檢索由網站生成的CSV文件,顯然是基於表。

該網站有兩個下拉框,可以從中選擇查詢,然後根據「onchange =」進行搜索並填寫表格。

填滿表格後,會出現一個按鈕,然後可以按下該按鈕並提供包含字段的CSV文件以供下載。

翻頁後,我找到並構建了負責檢索CSV文件的URL。它是這樣的:

http://www.example.com/exportCSV.action?field1=3&field2=5 

的問題是,如果我嘗試'捲曲'它,一個空的CSV文件檢索,只有頭。所以,我認爲實際的內容必須在使用普通網絡界面填充的表格內。

從生成CSV JavaScript函數的最後一次通話是:

window.open("exportCSV.action?"+fields) 

有沒有辦法來滿足初始的搜索,這樣,當我嘗試捲曲了`CSV網址「我可以得到一個填充的CSV,而不是一個空的?

回答

0

這聽起來像是該網站不接受您的cURL請求。有些人試圖將他們的服務僅限於「真實」的瀏覽器。

嘗試使用類似FireBug的調試工具來查看JavaScript通過網絡發送和接收的實際數據。

我假設你正在做你的cURL調用嗎?傳遞參數,特別是在命令行上,可能有點棘手。確保正確躲避URL,例如用單引號:

curl 'http://www.example.com/exportCSV.action?field1=3&field2=5' 

否則,&角色以及可能的問號也可能被你的shell得到解釋。

+0

那麼,curl調用返回所需的CSV只有標題,所以它返回的東西。內容缺乏。 對不起,但是你看「查看JavaScript發送和接收的實際數據」是什麼意思?我實際上使用FireBug來查找JavaScript調用。 最後,我用和你一樣的方式調用curl,只是使用「而不是」 – didi 2010-08-11 18:42:12

+0

我的意思是使用FireBug的「Network」選項卡來查看請求和響應頭和數據如果這沒有幫助,我害怕我目前沒有線索 – scy 2010-08-11 21:05:01

+0

好主意我試了一下,但是當我按下導出按鈕時,似乎沒有任何東西飛出來,這意味着實際的輸出是在客戶端進行的,不是嗎? – didi 2010-08-12 16:47:29