基本代码
import urllib.request #导入request模块
url = 'http://192.168.60.129' #指定url
res = urllib.request.urlopen(url) #调用urlopen()从服务器获取响应界面
html = res.read().decode('utf-8') #对返回的响应数据解码,并赋值给html
print(html) #打印web源码
查看网页的头部信息以确定网页的编码方式:
import urllib.request
res = urllib.request.urlopen('http://www.163.com')
print(res.info()) #info()方法 用来获取网页头部
respond包内添加头部(绕过服务器拦截伪装成浏览器)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
最终代码:
import urllib.request
url = 'http://192.168.60.129/'
headers ={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'}
req = urllib.request.Request(url=url,headers=headers)
res = urllib.request.urlopen(req)
html = res.read().decode('utf-8')
print(html)
就成功地爬到了靶机HTML文本