求大神将这段python代码转换成javascript!!! 20
#coding:utf-8importurllib2importredefcheck(url):response=urllib2.urlopen(url)html=res...
#coding:utf-8
import urllib2
import re
def check(url):
response = urllib2.urlopen(url)
html=response.read()
pattern = re.compile(r'<iframe\s+?src=.+?\s+?width=[0-5]%?\s+?height=[0-5]%?></iframe>')
if pattern.search(html):
return True
pattern = re.compile(r'<iframe\s+?src=.+?\s+?width=.*?\s+?height=.*?\s+?style="display:none"></iframe>')
if pattern.search(html):
return True
patterns = [r'<html>.+</html>', r'<title>.+</title>', r'<body>.+</body>', r'<head>.+</head>']
for pattern in patterns:
pattern = re.compile(pattern)
count = len(pattern.findall(html))
if count > 1:
return True
patterns = [r'<object(\s*.*)*>', r'<embde(\s*.*)*', r'<script(\s*.*)*']
for pattern in patterns:
pattern = re.compile(pattern)
count = len(pattern.findall(html))
if count > 233:
return True
count = 0
patterns = [r'<iframe(\s*.*)*>', r'<frame(\s*.*)*>', r'<meta(\s*.*)*>']
for pattern in patterns:
pattern = re.compile(pattern)
count += len(pattern.findall(html))
if count > 233:
return True
pattern = re.compile(r'eval\(')
count = len(pattern.findall(html))
if count > 233:
return True
return False
十分感谢!!! 展开
import urllib2
import re
def check(url):
response = urllib2.urlopen(url)
html=response.read()
pattern = re.compile(r'<iframe\s+?src=.+?\s+?width=[0-5]%?\s+?height=[0-5]%?></iframe>')
if pattern.search(html):
return True
pattern = re.compile(r'<iframe\s+?src=.+?\s+?width=.*?\s+?height=.*?\s+?style="display:none"></iframe>')
if pattern.search(html):
return True
patterns = [r'<html>.+</html>', r'<title>.+</title>', r'<body>.+</body>', r'<head>.+</head>']
for pattern in patterns:
pattern = re.compile(pattern)
count = len(pattern.findall(html))
if count > 1:
return True
patterns = [r'<object(\s*.*)*>', r'<embde(\s*.*)*', r'<script(\s*.*)*']
for pattern in patterns:
pattern = re.compile(pattern)
count = len(pattern.findall(html))
if count > 233:
return True
count = 0
patterns = [r'<iframe(\s*.*)*>', r'<frame(\s*.*)*>', r'<meta(\s*.*)*>']
for pattern in patterns:
pattern = re.compile(pattern)
count += len(pattern.findall(html))
if count > 233:
return True
pattern = re.compile(r'eval\(')
count = len(pattern.findall(html))
if count > 233:
return True
return False
十分感谢!!! 展开
1个回答
展开全部
这段神奇的代码,检查了这么多正则,只是返回True或者False,没什么意义啊……
JavaScript的话,意思是要用Node.js吧?
前端的JavaScript不能读取指定的URL吧?
正则表达式的部分倒是可以用JavaScript处理。
JavaScript的话,意思是要用Node.js吧?
前端的JavaScript不能读取指定的URL吧?
正则表达式的部分倒是可以用JavaScript处理。
追问
那求正则表达式部分的QAQ十分感谢!!!
true和false是想说如果正则匹配上的话就报告。。。
追答
哦,那举个例子,比如代码里最后匹配eval这个,可以这样:
function is_eval(html){
var ptn = /eval\(/g;
return ptn.test(html);
}
test函数会判断字符串是否符合模式,返回true或false。
其他的类似。JavaScript的正则表达式内容和Python基本一样的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询