令牌適當加CSRF我想獲得一個網站爲PDF的phantomJS內容作爲phantomJS文檔如何phantomJS
phantomjs rasterize.js 'http://en.wikipedia.org/w/index.php?title=Jakarta&printable=yes' jakarta.pdf
到目前爲止好描述的是很容易的。我目前遇到的問題是,我希望以pdf格式打印的網頁需要登錄的用戶併發布包含2個輸入字段的表單!輸入字段是一個開始和結束日期,用於生成期望網站的結果,以後將打印爲pdf格式。該網站使用Django編寫,默認情況下需要使用csrf標記。我編寫的代碼不起作用,即使這樣也不會幫助我,因爲我無法在柵格化的幫助下使用它將頁面內容轉換爲pdf。
"use strict"
var page = require('webpage').create(),
server = 'http://10.0.3.201:8000/report/',
data = 'start_date=23.03.2016&end_date=24.03.2016';
page.settings.userName = 'ubuntu';
page.settings.password = 'ubuntu';
page.includeJS(
// Include the http version, you can change this to http if you like.
'https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js',
function() {
(page.evaluate(function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
phantom.addCookie({
'name' : 'csrf',
'value' : getCookie('csrftoken'),
'domain' : 'localhost',
'path' : 'report',
'httponly' : true,
'secure' : false,
'expires' : (new Date()).getTime() + (1000 * 60 * 60)
});
)
}
);
page.open(server, 'post', data, function(status) {
if (status !== 'success') {
console.log('Unable to post!');
} else {
console.log(page.content);
}
phantom.exit();
});
我超級無知,甚至不知道我想要做什麼是可能與phantomJS。非常感謝幫助!