token düzgün CSRF eklemek için nasıl phantomJS dokümanlar Şimdiye kadar phantomJS
phantomjs rasterize.js 'http://en.wikipedia.org/w/index.php?title=Jakarta&printable=yes' jakarta.pdf
çok iyi anlatıldığı gibi oldukça kolaydır phantomJS içinde pdf olarak bir web sitesinin içeriğini almak istiyorum. Şu andaki problemim, pdf olarak basmak istediğim web sayfasının, giriş yapan ve 2 giriş alanı içeren bir form göndermesi gerektiğidir! Giriş alanları, daha sonra pdf olarak basılacak olan istenen web sitesinin sonucunu oluşturan bir başlangıç ve bitiş tarihidir. Site Django'da yazılmıştır ve varsayılan olarak bir csrf belirteci gerektirir. İşe yaramayacak olan bu kodu yazdım ve eğer olsa bile bana yardımcı olmaz çünkü sayfa içeriğini pdf'ye dönüştürmek için rasterleştirerek kullanamıyorum.
"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();
});
süper clueless ve hatta ne yapmak istiyorum phantomJS ile mümkün olup olmadığını bilmiyorum. Yardım çok takdir edilir!