url

http协议及Requests主要方法

守給你的承諾、 提交于 2020-02-03 06:59:42
1、HTTP协议(超文本传输协议)   1.1、http协议是一个基于“请求与响应”模式的、无状态的应用层协议。     http协议采用URL作为定位网络资源的标识。   1.2、URL格式 http://host[:port][path]     host:合法的Internet主机域名或IP地址     port:端口号,缺省端口为80     path:请求资源的路径       e.http://www.baidu.com     URL是通过http协议存取资源的Internet路径。一个URL对应一个数据资源。   1.3、http协议对资源的操作     get:获取URL位置资源     head:获取URL位置资源头部信息     post:向URL位置资源增加信息     put:覆盖原来URL位置资源     patch:修改URL位置资源     delete:删除URL位置资源 2、Requests库   2.1、方法与http协议对资源操作对应   request方法 requests.request(method,url,**kwargs) #method:请求方式,对应get/put/post等7种#url:url链接r=requests.request('GET',url,**kwargs) r=requests.request('HEAD'

写自己的ASP.NET MVC框架(下)

耗尽温柔 提交于 2020-02-03 03:22:14
上篇博客 【写自己的ASP.NET MVC框架(上)】 我给大家介绍我的MVC框架对于Ajax的支持与实现原理。今天的博客将介绍我的MVC框架对UI部分的支持。 注意: 由于这篇博客是基于前篇博客的,因此有些已说过的内容将会直接跳过,也不会给出提示。 所以,如果要想理解这篇博客,那么阅读上篇博客 【写自己的ASP.NET MVC框架(上)】 则是必要的。 MyMVC的特点 在开发MyMVC的过程中,我吸取了一些ASP.NET WebForm的使用经验,也参考了ASP.NET MVC,也接受了Martin Fowler对于MVC思想的总结。 在设计过程中,我只实现了一些必要的功能,而且没有引入其它的类库与组件,因此,它非常简单,且容易使用。 我们可以这样理解MyMVC: 它是一个简单,容易使用,且符合MVC思想的框架。 在MyMVC框架中,View仍然采用了WebForm中的Page,毕竟Page已经使用了十年,能经得起时间的检验,它仍然是我们可信赖的技术。 另一方面,Page也是ASP.NET中默认的HTML输出技术,使用它会比较方便。 MyMVC与微软的ASP.NET MVC不同的是: 1. 不依赖于URL路由组件。 2. 不提供任何HtmlHelper 3. Controller只是一个Action的容器,没有基类的要求。 4. Action处理的请求不区分POST, GET

Should I url encode a query string parameter that's an URL?

元气小坏坏 提交于 2020-02-03 03:02:06
问题 Just say I have the following url that has a query string parameter that's an url: http://www.someSite.com?next=http://www.anotherSite.com?test=1&test=2 Should I url encode the next parameter? If I do, who's responsible for decoding it - the web browser, or my web app? The reason I ask is I see lots of big sites that do things like the following http://www.someSite.com?next=http://www.anotherSite.com/another/url In the above, they don't bother encoding the next parameter because I'm guessing,

寒假大数据学习笔记四

亡梦爱人 提交于 2020-02-03 02:15:44
  今天的学习内容是利用python对图片进行爬取。   首先找到一个中意的图片网站,打开开发者工具,仔细寻找有关爬取内容的代码       可以很明显的找到.JPG格式的文件,然后直接爬取本网页的源代码,用正则表达式筛选出相应的.JPG文件,读取并保存就可以啦!    from urllib import request import os import time import re from fake_useragent import UserAgent import random def url_open(url): # 使用代理IP的操作 proxies = ['39.106.114.143:80', '47.99.236.251:3128', '58.222.32.77:8080', '101.4.136.34:81', '39.137.95.71:80', '39.80.41.0:8060'] proxy_support = request.ProxyHandler( {'http': random.choice(proxies)}) opener = request.build_opener(proxy_support) request.install_opener(opener) # 编写请求头 header = {"User-Agent": UserAgent()

【vue】学习笔记八:vue-resource 实现 get, post, jsonp请求

佐手、 提交于 2020-02-03 00:16:10
vue-resource插件开源地址https://github.com/pagekit/vue-resource ps:除了 vue-resource 之外,还可以使用 axios 的第三方包实现实现数据的请求 之前的学习中,如何发起数据请求? 常见的数据请求类型? get post jsonp JSONP的实现原理 由于浏览器的安全性限制,不允许AJAX访问 协议不同、域名不同、端口号不同的 数据接口,浏览器认为这种访问不安全; 可以通过动态创建script标签的形式,把script标签的src属性,指向数据接口的地址,因为script标签不存在跨域限制,这种数据获取方式,称作JSONP(注意:根据JSONP的实现原理,知晓,JSONP只支持Get请求); 具体实现过程: 先在客户端定义一个回调方法,预定义对数据的操作; 再把这个回调方法的名称,通过URL传参的形式,提交到服务器的数据接口; 服务器数据接口组织好要发送给客户端的数据,再拿着客户端传递过来的回调方法名称,拼接出一个调用这个方法的字符串,发送给客户端去解析执行; 客户端拿到服务器返回的字符串之后,当作Script脚本去解析执行,这样就能够拿到JSONP的数据了; 实现一个JSONP的请求demo const http = require ( 'http' ) ; // 导入解析 URL 地址的核心模块 const

Python爬虫学习(三)使用Scrapy库

不羁的心 提交于 2020-02-02 23:55:57
(一)Scrapy库概述   1,安装:pip install scrapy失败;       运行D:\Python\Python36\python.exe -m pip install --upgrade pip命令升级pip命令失败;       修改Python36文件的权限: https://www.cnblogs.com/liaojiafa/p/5100550.html       安装:D:\Python\Python36\python.exe -m pip install wheel       安装:D:\Python\Python36\python.exe -m pip install scrapy   2,框架概述:               入口:SPIDERS;出口:ITEM PIPELINES;用户编写SPIDERS(URL),ITEM PIPELINES(对数据处理)     ENGINE:控制所有模块之间的数据流,根据条件触发事件,不允许用户修改,代码已实现     DOWNLOADER:根据请求下载网页,功能单一,不允许用户修改,代码已实现     SCHEDULER:对所有爬取请求进行调度管理,不允许用户修改,代码已实现     DOWNLOADER MIDDLEWARE:用户可以修改配置;中间件            SPIDERS

临时

我们两清 提交于 2020-02-02 13:28:09
ALTER USER root@'%' IDENTIFIED BY 'trading'; set password for root@localhost = password('trading'); GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'trading' WITH GRANT OPTION; 1.查看端口被哪个程序占用 sudo lsof -i tcp:port 如: sudo lsof -i tcp:6399 2.看到进程的PID,可以将进程杀死。 sudo kill -9 PID 如:sudo kill -9 3210 @Test public void e(){ String url = "http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTLqFpcia3KzB8xZYDFUI1D6y6nVSK0Yy4ibb2tDib8f3UeT6Y3sw44aovURoWkRYZfIbThgRYZjSqyHQ/132"; try { String parentPath = "/Users/zplogo/dev"; String uuid = UUID.randomUUID().toString(); uuid = uuid.replace("-", ""); String

MySQL索引 - 索引的类型

橙三吉。 提交于 2020-02-02 12:15:08
索引的类型 B-Tree索引 B-Tree 索引 通常意味着所有的值都是 按顺序存储 的,并且每一个叶子页到根的距离相同。 B-Tree 索引 能够 加快访问数据的速度 ,存储引擎 不再需要进行全表扫描 来获取需要的数据,取而代之的是 从索引的根节点开始搜索 。 B-Tree 索引 适用于全键值、键值范围或键前缀查找( 最左前缀原则 )。 哈希索引 哈希索引 基于哈希表实现,只有 精确匹配索引 所有列的查询才有效。 哈希索引 是Memory引擎表的默认索引类型,但Memory同时也支持B-Tree索引。 哈希索引 自身 只需存储对应的哈希值和行指针 ,而 不存储字段值 ,所以索引的结构十分紧凑,这也让哈希索引查找的速度非常快。 哈希索引 数据并不是按照索引值顺序存储的,所以 无法用于排序 。 哈希索引 不支持部分索引列匹配查找 ,因为哈希索引始终是使用索引列的全部内容来计算哈希值的。例如数据列(A,B)上建立索引,如果查询只有数据列A,则无法使用该索引。 哈希索引 不支持任何范围查询 ,如WHERE score > 60。 哈希索引 只支持等值比较查询 ,包括=、IN()、<=>(注意<>和<=>是不同的操作)。 介绍一个 使用场景 :如需要存储大量的URL,并需要根据URL进行搜索查找。如果使用B-Tree来存储URL,存储的内容就会非常大,因为URL本身很长。 创建表 1

Python爬虫日记

蹲街弑〆低调 提交于 2020-02-02 05:11:14
python爬虫日记 正则表达式爬取内容 分析网站url可以看见网页的翻页是根据后面的 参数p=1 确定,可以根据网页的url可以得到所有的网页信息 爬取目标 得到小说的排名,书名,原文链接,作者,字数,点击量,和更新时间的信息 分析网站的html代码可以看到我们需要的信息 代码展示 # 引入我们需要的python库 import requests from requests . exceptions import RequestException import re import json # 发送http请求的函数 def get_one_page ( url ) : response = requests . get ( url ) if response . status_code == 200 : return response . text return '失败' # pattern是定义的正则表达式,可以获取到我们的信息 def parse_one_page ( html ) : pattern = re . compile ( '.*?num">(\d+)</li>.*?bookname">.*?bn.*?href="(.*?)">(.*?)</a>?.*?author">(.*?)</li>.*?length">(\d+).*?click">(\d+).*

node 处理 http

时光总嘲笑我的痴心妄想 提交于 2020-02-02 03:23:05
node 处理http 安装nodemon 它是个自动重启工具,当项目内的文件发生变化的时候它回自动重启服务,而不再需要我们再去手动启动服务。 npm install nodemon -- save - dev 使用: 使用 nodemon app.js 代替 node app.js 其中 app.js 就是项目的入口文件 2. 使用node 处理 http (GET、POST) const http = require ( 'http' ) const querystring = require ( 'querystring' ) const server = http . createServer ( ( req , res ) => { const method = req . method const url = req . url const path = url . split ( '?' ) [ 0 ] const query = querystring . parse ( url . split ( '?' ) [ 1 ] ) // 设置返回的格式 res . setHeader ( 'Content-Type' , 'application/json' ) // 返回的数据 const resData = { method , url , path , query