url

HTTP协议

假如想象 提交于 2020-02-04 16:53:14
1.什么是HTTP协议    HTTP协议(Hypertext transfer protocol),也叫超文本传输协议,作用就是对浏览器客户端和服务器端之间数据传输的格式规范,     它基于TCP的应用层协议,它不关心数据传输的细节,HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议。 2.HTTP协议的组成 请求行:请求方式 + URL + 协议版本 常见的请求方法有 GET、POST、PUT、DELETE、HEAD 客户端要获取的资源路径(所谓的URL) 客户端使用的 HTTP 协议版本号(目前使用的是http1.1) 请求头:客户端向服务器发送请求的补充说明 host:请求地址 User-Agent: 客户端使用的操作系统和浏览器的名称和版本. Content-Length:发送给HTTP服务器数据的长度。 Content-Type:参数的数据类型 Cookie:将cookie的值发送给HTTP 服务器 Accept-Charset:自己接收的字符集 Accept-Language:浏览器自己接收的语言 Accept:浏览器接受的媒体类型 请求体:一般携带的请求参数 application/json:{"name":"value","name1":"value2”} application/x-www-form-urlencoded: name1

Flask, Django - 区别,个人体会

我的梦境 提交于 2020-02-04 15:26:36
1. 目录结构 一般情况下,Django很系统、统一。Flask项目目录风格不同一,即使用上了蓝图。 2. 数据库迁移 Flask要用第三方extensions,而Django自带,这个很方便。 3. 模块化 Flask是用蓝图。Django可以自动生成 python manage.py startapp <app_name> ,并在Django的项目的settings那个INSTALLED_APPS字典里注册一下就好。 4. 命令行 Django的命令行初始更多功能,例如migrate。但Flask自定义命令很简单。 启动方面,Flask有两种,一种是通过manage.py帮助脚本去运行,另一种是export环境变量,用flask run来运行,官方文档建议后面这种,1.02版本还新增了一个环境变量FLASK_ENV。因为Flask依赖5个包,其中一个是click,所以可以自定义CMD。 @app.cli.command() def hello(): click.echo('Hello, xxx!') flask hello 5. 新建模型方面差不多。 它们都是继承ORM的Model。建模之后都是要加入到数据库中,就是做一个数据库迁移操作。 Flask是传入想要创建的字段类型到model.Column,而Django有明显的类给你使用,例如models.charField。 6.

sqlmap,扫描网站数据库并得到用户名及密码!

余生长醉 提交于 2020-02-04 15:03:32
接着上篇文章,你已经对sqlmap有了了解。那么我们今天就进一步了解sqlmap,使用sqlmap对一个网站解剖分析! SqlMap的程序允许检查网站的SQL注入漏洞,XSS漏洞的存在,并且可以还利用SQL注入。支持多种SQL注入类型和多种数据库。 我们可以使用sqlmap检查网站中是否存在漏洞。 如果该站点容易受到SQL注入的攻击,则骇客可以进行以下攻击: 从数据库接收信息,包括转储(整个)数据库 修改和删除数据库中的信息 在Web服务器上生成外壳(后门) 从数据库获取用户名和密码 搜索管理仪表板(管理页面) 使用登录名和密码登录到管理区域 资料修改 JavaScript代码注入以检索用户数据 作为网络安全员,我们是利用工具去检查网站是否有漏洞,如果有,则将漏洞提交给技术部或者我们自己修复解决!这里绝不是让你学完技术去瞎搞! 使用sqlmap检查网站 如果站点使用GET方法从用户那里接收数据(当变量名和正在传输的数据都在浏览器的地址栏中可见时),则需要选择存在该变量的页面的地址。它在问号(?)之后,我们选几个网址。例如: http://www.域名/页面.php?id=8 http://www.域名/页面.php?id=22 在第一个URL地址中,变量的名称为id,传递的值为8。在第二个地址中,变量的名称也为id,传输的值为22。 相同的变量名称是针对不同站点的随机匹配

8.7心得

久未见 提交于 2020-02-04 14:13:24
jq中阿贾克斯的格式及作用 $.post、$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一、$.ajax的一般格式 $.ajax({ type: 'POST', url: url , data: data , success: success , dataType: dataType }); 二、$.ajax的参数描述 参数 描述 url 必需。规定把请求发送到哪个 URL。 data 可选。映射或字符串值。规定连同请求发送到服务器的数据。 success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。 dataType 可选。规定预期的服务器响应的数据类型。 默认执行智能判断(xml、json、script 或 html)。 三、$.ajax需要注意的一些地方: 1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判 断。 2.$.ajax只提交form以文本方式,如果异步提交包含<file>上传是传过不过去,需要使用jquery.form.js的$.ajaxSubmit 四、$.ajax我的实际应用例子 Js代码 收藏代码 //1.$.ajax带json数据的异步请求 var aj = $.ajax( { url

Javascript实现页面内容下载

◇◆丶佛笑我妖孽 提交于 2020-02-04 12:20:43
https://www.awaimai.com/259.html 页面上有一段代码,要保存下来,怎么做? 选择复制?用按钮请求数据库?都很低效。 既然页面已经有了内容,为何不用JS获取这段代码,生成文件后直接下载? 下面我们用 Blob 和 URL.createObjectURL 来实现这一功能,兼容Chrome、Firefox和IE等主流浏览器。 1 演示 点击查看演示地址。 2 实现代码 JS代码如下,已经封装成一个函数,filename是保存的文件名,content是保存到这个文件中的内容: function download ( filename , content ) { var blob = new Blob ( [ content ] , { type : 'text/plain' } ) ; var url = window . URL . createObjectURL ( blob ) ; var a = document . createElement ( 'a' ) ; a . style = "display: none" ; a . href = url ; a . download = filename ; document . body . appendChild ( a ) ; a . click ( ) ; setTimeout (

Python实现爬虫从网络上下载文档

北城余情 提交于 2020-02-04 11:19:14
最近在学习Python,自然接触到了爬虫,写了一个小型爬虫软件,从初始Url解析网页,使用正则获取待爬取链接,使用beautifulsoup解析获取文本,使用自己写的输出器可以将文本输出保存,具体代码如下: Spider_main.py # coding:utf8 from baike_spider import url_manager, html_downloader, html_parser, html_outputer class SpiderMain(object): def __init__(self): self.urls = url_manager.UrlManager() self.downloader = html_downloader.HtmlDownloader() self.parser = html_parser.HtmlParser() self.outputer = html_outputer.HtmlOutputer() def craw(self, root_url): count = 1 self.urls.add_new_url(root_url) while self.urls.has_new_url(): print("self.urls.has %s" % self.urls.new_urls) try: new_url = self

爬虫例子入门玩玩

混江龙づ霸主 提交于 2020-02-04 11:16:55
目标:爬取百度百科关于Python的100个网页 工具环境:Python 3.5 , Sublime Text 3 爬虫调度程序:spider_main.py # coding:utf8 # from baike_spider import url_manager, html_downloader, html_parser, \ # html_outputer import url_manager, html_downloader, html_parser, \ html_outputer import socket class SpiderMain(object): #构造方法 def __init__(self): #url管理器 self.urls = url_manager.UrlManager() #下载器 self.downloader = html_downloader.HtmlDownloader() #解析顺 self.parser = html_parser.HtmlParser() #输出器 self.outputer = html_outputer.HtmlOutputer() self.log_datas = [] #log列表 #爬虫调度程序 def craw(self, root_url): count = 1 self.urls.add_new

python简易爬虫

一笑奈何 提交于 2020-02-04 11:07:59
这两天看了一下python的基础语法,跟着网上的教程爬了一下百度百科和python相关联的词条。采用了beautifulsoup4插件 下面是流程 首先是一个url管理器,负责增加/获取/判断是否有url 1 # coding:UTF8 2 #url管理器 3 class UrlManager(object): 4 def __init__(self): 5 self.new_urls=set() 6 self.old_urls=set() 7 8 def add_new_url(self,url): 9 if url is None: 10 return 11 12 if url not in self.new_urls and url not in self.old_urls: 13 self.new_urls.add(url) 14 15 def add_new_urls(self,urls): 16 if urls is None or len(urls)==0: 17 return 18 19 for url in urls: 20 self.add_new_url(url) 21 22 def has_new_url(self): 23 return len(self.new_urls)!=0 24 25 26 def get_new_url(self): 27 new

Python2.7爬虫练习爬百度百科python词条

牧云@^-^@ 提交于 2020-02-04 10:07:51
Eclipse New Project | New PyDev Package | New PyDev Module Project:0418 Package:SpiderTest Module: 5个模块,spider_main爬虫入口,=》 url_manager URL管理器, =》html_downloader 类似C#的HttpWebRequest请求获取html响应,=》 html_parser 类似HtmlAgilityPack的数据分析,=》 html_outputer 输出到文件 1.spider_main # coding:utf8 from baike_spider import url_manager, html_downloader, html_parser, html_outputer class SpiderMain(object): def __init__(self): self.urls = url_manager.UrlManager() self.downloader = html_downloader.HtmlDownLoader() self.parser = html_parser.HtmlParser() self.outputer = html_outputer.HtmlOutPuter() def craw(self, root

python的urllib2库详细使用说明

感情迁移 提交于 2020-02-04 04:21:08
一直以来技术群里会有新入行的同学提问关于urllib和urllib2以及cookielib相关的问题。所以我打算在这里总结一下,避免大家反复回答同样的问题浪费资源。 这篇属于教程类的文字,如果你已经非常了解urllib2和cookielib那么请忽略本篇。 首先从一段代码开始, #cookie import urllib2 import cookielib cookie = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) request = urllib2.Request(url='http://www.baidu.com/') request.add_header('User-Agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1') response = opener.open(request) for item in cookie: print item.value 很多同学说,我可以直接在openr.open()里写url,为什么你要用request。其实我这么写就是为了整理一下一般使用urllib2构造请求的常用步骤。 初步,urllib2构造请求常用步骤(结合上面的代码): 1