2015-01-15 2 views
10

Я думаю, что каждый запрос, что я посылаю посылается без печенья ..Как отправить печенье с CasperJS

Когда я слушаю onResourceRequested события, как это:

this.page.onResourceRequested = function(request) { 
    utils.dump(request); 
}; 

И каждый запрос имеет Та же самая форма заголовков:

"headers": [ 
    { 
     "name": "User-Agent", 
     "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" 
    }, 
    { 
     "name": "Accept", 
     "value": "text/css,*/*;q=0.1" 
    }, 
    { 
     "name": "Referer", 
     "value": "https://some_site.com/page" 
    } 
], 

Я никогда не получить заголовок с печеньем, которые должны быть там ..

Когда я пытаюсь смотреть на печенье - я бегу это:

utils.dump(this.page.cookies); 

получить список многих печеньем записей.

Я думаю, что это дало мне некоторые ошибки в моем скрипте скремблирования.

Ваши мысли? спасибо.

EDIT

Я пытаюсь сделать запрос POST, чтобы загрузить файл. Я могу зайти на сайт, перейти на несколько страниц, перейти на страницу загрузки, но затем, когда я отправлю запрос, я получаю сообщение «Ошибка: для регистрации на сайте вы должны разрешить браузеру принимать файлы cookie «.

Вот почему это сбивает с толку - я могу войти и просматривать сайт (так что я должен быть некоторые печенье розданы), но я не могу скачать (так что я не мог иметь печенье здесь ..)

+0

Каких запросов являются те, которые вы делаете? Вы подозреваете, что файлы cookie на самом деле не отправляются или только не отображаются в этих обработчиках событий? Совет: не используйте 'casper.page.onResourceRequested', а скорее' casper.on ("resource.requested", function() {... ', потому что вы перезаписываете обработчик событий, и CasperJS нуждается в нем внутри, чтобы иметь список или ресурсы готовы. –

+0

Я делаю GET и POST. «Вы подозреваете, что файлы cookie на самом деле не отправляются или только не отображаются в этих обработчиках событий». Хорошо. Я не уверен ... по внешнему виду вывода запроса похоже, что куки-то там нет .. Я надеялся, что ты мне скажешь :) Спасибо за совет, я буду использовать это. – carmel

+0

на самом деле .. Я подозреваю, что файлы cookie не отправлены .. Я отредактирую вопрос – carmel

ответ

0

Предоставьте cookiejar при запуске CasperJS для сохранения файлов cookie (и повторного использования их между сеансами).

Опция командной строки:

--cookies-file=/path/to/cookies.txt 

В полном объеме:

$ casperjs --cookies-file=/path/to/cookies.text myscript.js 
0

Используйте параметр командной строки:

casperjs --cookies-file=/path/cookies.text script.js