Merge pull request #1 from dctabuyz/encodeIDN
IDN support: encode non-ascii domain names
This commit is contained in:
@@ -35,6 +35,7 @@ begin
|
|||||||
require 'nokogiri'
|
require 'nokogiri'
|
||||||
require 'terminal-table'
|
require 'terminal-table'
|
||||||
require 'ruby-progressbar'
|
require 'ruby-progressbar'
|
||||||
|
require 'addressable/uri'
|
||||||
# Custom libs
|
# Custom libs
|
||||||
require 'common/browser'
|
require 'common/browser'
|
||||||
require 'common/custom_option_parser'
|
require 'common/custom_option_parser'
|
||||||
|
|||||||
@@ -55,6 +55,8 @@ class WpscanOptions
|
|||||||
def url=(url)
|
def url=(url)
|
||||||
raise Exception.new('Empty URL given') if url.nil? || url == ''
|
raise Exception.new('Empty URL given') if url.nil? || url == ''
|
||||||
|
|
||||||
|
url = Addressable::URI.parse(url).normalize.to_s unless url.ascii_only?
|
||||||
|
|
||||||
@url = URI.parse(add_http_protocol(url)).to_s
|
@url = URI.parse(add_http_protocol(url)).to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ describe 'WpscanOptions' do
|
|||||||
@wpscan_options.url = url
|
@wpscan_options.url = url
|
||||||
expect(@wpscan_options.url).to be === url
|
expect(@wpscan_options.url).to be === url
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should encode IDN' do
|
||||||
|
@wpscan_options.url = 'http://пример.испытание/'
|
||||||
|
expect(@wpscan_options.url).to be === 'http://xn--e1afmkfd.xn--80akhbyknj4f/'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#threads=' do
|
describe '#threads=' do
|
||||||
|
|||||||
Reference in New Issue
Block a user