2016-09-29 2 views
0

내가 간단한 스크립트를 기반으로이 onResourceRequested로드되지 Phantomjs의 네트워크의 모든 요청 및 특정 웹 사이트와 관련된 응답 헤더 로그인을 시도 모니터링 example : 때, 그러나Phantomjs 올바른 URL이 내부

"use strict"; 

var page = require('webpage').create(), 
    system = require('system'), 
    address; 

if (system.args.length === 1) { 
    console.log('Usage: getRequests.js <some URL>'); 
    phantom.exit(1); 
} else { 

    address = system.args[1]; 

    console.log('The url entered is ' + address + '\n') 

    page.onResourceReceived = function(response) { 
     console.log('Received Request: ' + JSON.stringify(response.headers, undefined, 4) + '\n'); 
    }; 

    page.onResourceRequested = function (req) { 
     console.log('Request URL ' + JSON.stringify(req.url, undefined, 4) + "\n"); 

    } 

    page.onResourceError = function(resourceError) { 
     console.log('Unable to load resource (#' + resourceError.id + 'URL:' + resourceError.url + ')'); 
     console.log('Error code: ' + resourceError.errorCode + '. Description: ' + resourceError.errorString); 
    }; 

    page.open(address); 


} 

를 I

The url entered is www.google.com 

Request URL "file:///home/myusername/scripts/www.google.com" 

Unable to load resource (#1URL:file:///home/myusername/scripts/www.google.com) 
Error code: 203. Description: Error opening /home/myusername/scripts/www.google.com: No such file or directory 
Received Request: [] 

기본적으로, 터미널에 입력하고 URL이 스크립트 파일의 경로 앞에 추가되는 : ./phantomjs getRequests.js www.google.com (또는 다른 웹 페이지)를 사용하여, 그것을 실행하려고, 그것은 오류를 제공합니다. 주소 변수에 입력되는 입력 값은 완벽합니다. 즉, google.com입니다.

누구든지이 문제를 도와 드릴 수 있습니까? 나는 왜 phantomj가 이런 일을하는지 이해할 수 없다. 저는 버추얼 박스에서 우분투 14.04를 사용하고 있습니다. 그리고 전에 특정 페이지에 대한 요청을 출력하려고 할 때 스크립트가 정상적으로 실행되고있었습니다. 감사합니다. .

답변

1

당신은 아마 웃을거야,하지만 스크립트를 사용하는 올바른 방법은

./phantomjs getRequests.js http://www.google.com 
+0

이 오 하나님, 정말 감사입니다! 나는 이것에 1 시간을 보냈다. – QPTR