2010-08-11 3 views
1

Прежде всего позвольте мне сказать, что я не знаком с терминологией, поэтому, если вы что-то видите, во что бы то ни стало, помогите мне улучшить формулировку.Извлечь CSV-файл, созданный из таблицы javascript

Что я хочу сделать, это получить CSV-файл, который создается веб-сайтом, по-видимому, на основе таблицы.

На сайте есть два упаковок, из которых можно выбрать запросы, а затем, на основе `onchange = ', выполняется поиск и заполняется таблица.

При заполненной таблице появляется кнопка, которую можно нажать, и файл CSV, содержащий поля, предлагается загрузить.

После того, как я просмотрел страницу, мне удалось найти и создать URL-адрес, ответственный за получение CSV-файла. Это что-то вроде:

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

Проблема в том, если я пытаюсь `завитка 'это, Пустой файл CSV извлекается, только с заголовками. Поэтому я считаю, что фактическое содержимое должно находиться внутри таблицы, которая заполняется с использованием обычного веб-интерфейса.

Последний вызов из яваскрипта функции, которая генерирует CSV является:

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

Есть ли способ, чтобы удовлетворить первоначальный поиск так, когда я пытаюсь завитка `CSV URL-адрес 'Я может получить заполненный CSV, а не пустой?

ответ

0

Это скорее похоже на то, что этот веб-сайт не принимает ваш запрос cURL. Некоторые пытаются ограничить свои услуги только «реальными» браузерами.

Попробуйте использовать инструмент отладки, например FireBug, чтобы просмотреть фактические данные, которые JavaScript отправляет и получает по сети.

Я предполагаю, что вы выполняете свой вызов cURL? Параметры передачи, особенно в командной строке, могут быть немного сложными. Убедитесь, что вы избежать URL правильно, например, с одинарными кавычками:

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

еще, & характер и, возможно, знак вопроса, а также может получить истолковано вашей оболочки.

+0

Ну, вызов curl возвращает предполагаемый CSV только с заголовками, поэтому он что-то возвращает. Недостатком является содержание. Извините, но что вы подразумеваете под «просмотром фактических данных, которые JavaScript отправляет и получает»? Я действительно использовал FireBug, чтобы найти javascript-вызов. Наконец, я вызываю curl так же, как и вы, просто используя «вместо». – didi

+0

Я имею в виду использование вкладки «Сеть» FireBug, чтобы увидеть заголовки и данные запроса и ответа. Если это не поможет, Я боюсь, что я в настоящее время не знаю. – scy

+0

Хорошая идея. Я пробовал, но ничего не кажется летящим, когда я нажимаю кнопку экспорта. Это означает, что фактический экспорт сделан на клиенте, не так ли? – didi

Смежные вопросы