url

详解PHP实现定时任务的五种方法

蓝咒 提交于 2020-02-19 05:39:16
定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这种AppServer的概念,而http协议是一个无状态的协议,PHP只能被用户触发,被调用,调用后会自动退出内存,没有常驻内存。 如果非要PHP去实现定时任务, 可以有以下几种解决方案: 一. 简单直接不顾后果型 ? 1 2 3 4 5 6 7 8 9 10 <?php ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去 ini_set ( 'memory_limit' , '512M' ); // 设置内存限制 $interval =60*30; // 每隔半小时运行 do { //ToDo sleep( $interval ); // 等待5分钟 } while (true); 缺点: 启动之后,便无法控制, 除非终止 PHP 宿主. 不要采用这样方法, 除非你是黑客. 二. 简单可控型 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 config.php <?php return 1; ?>

java_爬虫_从腾讯视频播放界面爬取视频真实地址

会有一股神秘感。 提交于 2020-02-19 01:56:19
由于想在微信公众号里爬一点儿考研的视频 花了差不多一天的时间把这个爬虫做好(其实也不算爬虫吧,就算个能批量处理的地址解析器,半个爬虫) 不多说,进正题 (本文适合有java基础的同学,没基础的用客户端缓存然后格式转换吧) 所需条件: 1.一台联网的有java环境的电脑 2.耐心 访问后台接口网址: http://vv.video.qq.com/getinfo(低清的只要这一个就好了) http://vv.video.qq.com/getkey(高清的需要访问这个) 原理(获取低清视频,先把原理打通,高清后期有时间会更): 步骤一: 获取你想要下载的视频的腾讯视频页面地址(这个很容易啦,就不赘述) 此处以:https://v.qq.com/x/page/f08302y6rof.html为例 步骤二: 获取视频vid 此处的vid为f08302y6rof,就是上边儿网址上那一串长长的东西 步骤三: 用获取到的视频的vid替换下面红色标明的vid(这一步是访问后台接口得到json报文) http://vv.video.qq.com/getinfo?vids= f08302y6rof &platform=101001&charge=0&otype=json&defn=shd 然后访问 步骤四: 在页面返回浏览器的json报文中,找到fn 和 fvkey 我这边儿传回的报文如下

移动端图片操作(一)——上传

拈花ヽ惹草 提交于 2020-02-18 18:46:54
上传我们一般都是用“ input[type=file] ”控件。当你用此控件时,你就授权了网页和服务器访问对应的文件,就可以得到 File 对象。 友情提示在,在Android手机webview中,是不支持上传文件的,网上说是修改Android端的代码,但我没试过,我们这边是使用客户端提供的接口来实现上传的。 下面的示例代码可以在 这里 查看到。 一、accept属性 该属性表明了服务器端可接受的文件类型,可以限制你手机选择相关的文件,如果限制多个,可以用逗号分割,下面的代码就表示只能选择图片与音频相关的文件: <input accept="image/*,audio/*" type="file"/> 在移动端,点击后会让你选择拍照或相册,还是蛮高大上的。下图是UC浏览器中: 二、change事件 一般选择文件都会使用“change”事件,下面的代码就是绑定了change事件,弹出文件大小: var upload = document.getElementById('upload'); upload.addEventListener('change', function() { var file = upload.files[0]; alert(file.size); }, false); 1) 有些手机浏览器在点击的时候,会弹出键盘选择,我用onfocus="this.blur(

PHP 和 AJAX 投票

我们两清 提交于 2020-02-18 16:14:17
AJAX 投票 在这个 AJAX 实例中,我们将演示一个投票程序,网页在不重新加载的情况下,就可以获得结果。 到目前为止,您喜欢 PHP 和 AJXA 吗? Yes: No: 本例包括四个元素: HTML 表单 JavaScript PHP 页面 存放结果的文本文件 HTML 表单 这是 HTML 页面。它包含一个简单的 HTML 表单,以及一个与 JavaScript 文件的连接: <html><head><script src="poll.js"></script> </head><body><div id="poll"><h2>Do you like PHP and AJAX so far?</h2><form>Yes: <input type="radio" name="vote" value="0" onclick="getVote(this.value)"><br />No: <input type="radio" name="vote" value="1" onclick="getVote(this.value)"></form></div></body></html> 例子解释 - HTML 表单 正如您看到的,上面的 HTML 页面包含一个简单的 HTML 表单,其中的 <div> 元素带有两个单选按钮。 表单这样工作: 当用户选择 "yes" 或 "no" 时

Java RestTemplate传递参数

别等时光非礼了梦想. 提交于 2020-02-18 15:25:28
最近使用Spring 的 RestTemplate 工具类请求接口的时候发现参数传递的一个坑,也就是当我们把参数封装在Map里面的时候,Map 的类型选择。 使用RestTemplate post请求的时候主要可以通过三种方式实现 1、调用postForObject方法 2、使用postForEntity方法 3、调用exchange方法 postForObject和postForEntity方法的区别主要在于可以在postForEntity方法中设置header的属性,当需要指定header的属性值的时候,使用postForEntity方法。exchange方法和postForEntity类似,但是更灵活,exchange还可以调用get、put、delete请求。使用这三种方法调用post请求传递参数,Map不能定义为以下两种类型( url使用占位符进行参数传递时除外 ) Map<String, Object> paramMap = new HashMap<String, Object>(); Map<String, Object> paramMap = new LinkedHashMap<String, Object>();    经过测试,我发现这两种map里面的参数都不能被后台接收到,这个问题困扰我两天,终于,当我把Map类型换成LinkedMultiValueMap后

thinkphp5在URL地址里隐藏模块名

牧云@^-^@ 提交于 2020-02-18 14:38:45
新的Thinkphp5的路由功能很强大,完全可以自定义以满足自己的要求 ThinkPHP5.0的路由规则如下: http://serverName/index.php/module/controller/action/param/value/... 我们不仅可以通过Apache的.htaccess配置文件在url中隐藏index.php 还可以 通过以下自定义路由配置 隐藏控制名,以达到URL更简短的效果 你的route.php配置如下 <?php /* * @Author: huangyuan * @Date: 2017-03-01 14:39:37 * @Last Modified by: huangyuan413026@163.com * @Last Modified time: 2017-03-01 14:39:37 * @Description: 路由配置,在URL中隐藏模块名 */ return [ //默认首页 ''=>'index/index', //未隐藏模块名 http://tp5.com/index/5 // 'index:name'=>['index/hello',['name'=>'\w+']], //隐藏模块名 http://tp5.com/5 ':name'=>['index/hello',['name'=>'\w+']], // 路由分组 '[]'=

第一篇web框架

荒凉一梦 提交于 2020-02-18 06:21:21
第一篇web框架 http协议 web应用和web框架 主 文 http协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象

python 网络爬虫项目Choice1

戏子无情 提交于 2020-02-18 03:14:51
参考链接: 网络爬虫(python项目) https://blog.csdn.net/qq_37050329/article/details/83021302 一.request+正则表达式爬取猫眼电影 1.什么是request Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 如果你看过上篇文章关于urllib库的使用,你会发现,其实urllib还是非常不方便的,而Requests它会比urllib更加方便,可以节约我们大量的工作。(用了requests之后,你基本都不愿意用urllib了)一句话,requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库。 默认安装好python之后,是没有安装requests模块的,需要单独通过pip安装 import requests response = requests . get ( "https://www.baidu.com" ) print ( type ( response ) ) print ( response . status_code ) print ( type ( response . text ) ) print ( response . text ) print ( response . cookies )

get和post的区别

混江龙づ霸主 提交于 2020-02-17 23:21:07
转自:https://blog.csdn.net/sunayn/article/details/80098618 1.标准答案 GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进行url编码,而POST支持多种编码方式。 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求在URL中传送的参数是有长度限制的,而POST么有。 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 GET参数通过URL传递,POST放在Request body中。 2.博主理解 上面的这些看起来很多,背给面试官的时候又显得太过于官方,其实大体也就是这几个方面: GET参数放在URL中,并且只请求一次;而POST放在Request body中,请求两次。 所以GET只能进行URL编码了,参数就会被完整保留历史记录了,长度就有限了,数据类型只能是ASCLL字符了,不安全不能传递敏感信息了也就相继产生 剩下也就记一下POST回退时会再次请求,GET的URL地址可以被记录书签,GET会被主动保存缓存等。 来源: https:

Python爬虫入门二之爬虫基础了解

六月ゝ 毕业季﹏ 提交于 2020-02-17 23:16:07
1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你来控制它咯。 比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。这样,整个连在一起的大网对这之蜘蛛来说触手可及,分分钟爬下来不是事儿。 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTML、JS、CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了。 因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些 HTML 代码,实现对图片、文字等资源的获取。 3.URL的含义 URL,即统一资源定位符,也就是我们说的网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。 URL的格式由三部分组成: