2013-08-30 4 views
0

Существует веб-сайт (с использованием протокола https), в который я могу войти с именем пользователя и паролем в веб-браузере. Теперь я хочу написать бэкэнд-программу для имитации этого действия для входа. Как это сделать? Дайте мне некоторые идеи.Как имитировать веб-браузер для взаимодействия с сервером https

обновление: И есть много javascript, можно ли использовать завиток, чтобы сделать это? Может ли завиток обеспечить среду времени js? Если нет, как разрешить javascript?

+1

'Дайте мне некоторые идеи' - Используйте' curl'. – devnull

+2

Вы уже проводили какие-либо исследования или собственные усилия? – pzaenger

+1

Я использовал завиток для обработки этих вещей раньше, но в ситуации статического веб-сайта и протокола http. Теперь это сложнее. Это https-сайт, и мне нужно выполнить javascript. –

ответ

1

У меня была та же проблема пару месяцев назад, когда я решил это, используя phantomjs. Если вы являетесь пользователем Linux и комфортно работаете с CLI, то очень просто использовать этот инструмент. Если вы пользователь Windows или Mac, то он также должен быть прост в использовании.

Это пример кода phantomjs, который я когда-то писал. Это загрузит веб-страницу и файл JavaScript local.js. После этого мы можем написать обычный код JavaScript для доступа к DOM и управления им.

var page = require("webpage").create(); 
    page.open("http://localhost/localdir", function() { 
     page.includeJs("http://localhost/local.js", 
       function() { 
        var xml = page.evaluate(function() { 
         x = window.XML_VAR; 
         return x; 
        }); 
        var json = page.evaluate(function() { 
         y = window.JSON_VAR; 
         return y; 
        }); 
        var title = page.evaluate(function(){ 
         z = document.getElementById("title").innerHTML; 
         return z; 
        }); 
        console.log(json); 
        console.log(xml); 
        console.log(title); 
        phantom.exit() 
       }); 
}); 
Смежные вопросы