0

私はphantomjsとrasterizejsについても読みました。しかし、私のリンクはこれです:

http://localhost:5601/#/dashboard/External?_g=(time:(from:'2014-12-31T16:00:00.000Z',mode:absolute,to:'2015-01-01T16:00:00.000Z'))&_a=(filters:!(),panels:!((col:10,id:'Count-of-Source-IPs-(External)',row:1,size_x:3,size_y:3,type:visualization),(col:4,id:'Protocols-(External)',row:4,size_x:3,size_y:2,type:visualization),(col:7,id:'Top-5-Source-IPs-with-Protocols-and-Source-Port-(External)',row:4,size_x:6,size_y:6,type:visualization),(col:1,id:'Top-5-Source-IPs-(External)',row:4,size_x:3,size_y:2,type:visualization),(col:1,id:'Top-5-Countries-with-Protocols-(External)',row:1,size_x:6,size_y:3,type:visualization),(col:1,id:'Geographical-of-External-(Source)',row:6,size_x:6,size_y:4,type:visualization),(col:7,id:'Action-(External)',row:1,size_x:3,size_y:3,type:visualization)),query:(query_string:(analyze_wildcard:!t,query:'*')),title:External)

このコマンドで動作するようにするにはどうすればよいですか:

phantom.js rasterize.js "http://localhost:5601/#/dashboard/External?_g=(time:(from:'2014-12-31T16:00:00.000Z',mode:absolute,to:'2015-01-01T16:00:00.000Z'))&_a=(filters:!(),panels:!((col:10,id:'Count-of-Source-IPs-(External)',row:1,size_x:3,size_y:3,type:visualization),(col:4,id:'Protocols-(External)',row:4,size_x:3,size_y:2,type:visualization),(col:7,id:'Top-5-Source-IPs-with-Protocols-and-Source-Port-(External)',row:4,size_x:6,size_y:6,type:visualization),(col:1,id:'Top-5-Source-IPs-(External)',row:4,size_x:3,size_y:2,type:visualization),(col:1,id:'Top-5-Countries-with-Protocols-(External)',row:1,size_x:6,size_y:3,type:visualization),(col:1,id:'Geographical-of-External-(Source)',row:6,size_x:6,size_y:4,type:visualization),(col:7,id:'Action-(External)',row:1,size_x:3,size_y:3,type:visualization)),query:(query_string:(analyze_wildcard:!t,query:'*')),title:External)" external.pdf

そのため、構文エラーが発生しています。

4

1 に答える 1

1

問題はおそらく、コマンドが端末に対して長すぎて、一部が途切れていることです。

スクリプトに直接入れるか、標準入力から読み取ることができます。そのためには、rasterize.js を編集する必要があります。

x最初に、が 1 を超えるsystem.args[x]場所を 1ずつ減らす必要がありxます。それが完了したら、スクリプトを次のように呼び出すことができます。

phantom.js rasterize.js external.pdf

また

cat file.url | phantom.js rasterize.js external.pdf

2番目の場合。

URL をスクリプトに入れる

変化する

address = system.args[1];

address = "http://localhost....";

パイプから読み取る

長い URL をファイルに入れ、そのファイルを PhantomJS スクリプトの stdin に渡すことができます。

変化する

address = system.args[1];

address = system.stdin.read();
于 2015-09-07T13:17:56.217 に答える