url

TP框架中的page分页实现

Deadly 提交于 2020-03-07 07:21:12
今天介绍一下如何在tp框架中使用分页功能(TP3.2) 1.第一步,找到我们需要使用的分页类(page.class.php),并将其放在命名空间根目录下的一个位置,比如Library文件夹下或者当前模块下(例如Application ) 打开分页类,修改命名空间 2.第二步,找到需要分页功能的控制器中相对应的操作方法 public function index(){ $art=M("article"); //分页显示方法 $zts=$art->count(); //查询总条数 $page=new \Admin\page\page($zts,4);//两个参数,总条数和显示的条数; $attr = $art->limit($page->limit)->select(); //这里已经有了limit,将page类文件的LIMIT删去 $this->assign("art",$attr); // 查询内容注册到显示页面 $this->assign("page",$page->fpage()); //分页栏也注册到显示页面 $this->show(); } 3. 在显示页面遍历显示出来 <table> <foreach name="art" item="v"> <tr> <td>{$v.catid}</td> <td>{$v.name}</td> </tr> </foreach> <

浅谈HTTP中Get与Post的区别

梦想与她 提交于 2020-03-07 07:16:57
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的 查 , 改 , 增 , 删 4个操作。到这里,大家应该有个大概的了解了,GET一般用于 获取/查询 资源信息,而POST一般用于 更新 资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念: <!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->    幂等 (idempotent、idempotence)是一个数学或计算机学概念

python爬取网页时response.status_code返回418,文件读取写入

怎甘沉沦 提交于 2020-03-07 07:04:53
问题: response.status_code为418 问题描述: 当我使用Python的requests爬取网页时response和soup都是None,检查后发现response.status_code为418 错误描述: 经过网上查询得知,418的意思是被网站的反爬程序返回的,网上解释为,418 I’m a teapot The HTTP 418 I’m a teapot client error response code indicates that the server refuses to brew coffee because it is a teapot. This error is a reference to Hyper Text Coffee Pot Control Protocol which was an April Fools’ joke in 1998. 翻译为:HTTP 418 I’m a teapot客户端错误响应代码表示服务器拒绝煮咖啡,因为它是一个茶壶。这个错误是对1998年愚人节玩笑的超文本咖啡壶控制协议的引用。 解决办法: 当时用了requests库,没有添加请求头等信息,可能被反爬程序识别了,再次请求添加了header的User-Agent信息就可以了。 代码: import requests headers={'User-Agent

初入Python(猫眼top100)

懵懂的女人 提交于 2020-03-07 05:28:50
思路: 1.查看网页源代码 2.抓取单页内容 3.使用正则表达式 4.猫眼电影TOP100所有信息 查看网页源代码 使用Chrome浏览器: 抓取单页内容 通过以下代码获取网页源代码 import requests from requests . exceptions import RequestException import re import os headers = { #'Content-Type': 'text/html;charset=UTF-8', #'Origin':' https://maoyan.com?offset=0', 'Referer' : 'https://maoyan.com/board/4' , 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36' } def get_page ( url , headers ) : try : res = requests . get ( url = url , headers = headers ) if res . status_code == 200 : return res . text

Android 小项目之--数据存储【Network】(附源码)

自古美人都是妖i 提交于 2020-03-07 05:05:13
将数据保存发送到电子邮件中备份,首要前提应该先在模拟器中设置好电子邮件帐户,设置如下: 第一步,启动模拟器,打开“菜单”,选择“电子邮件”项,填写相应帐号和密码。 第二步,点击NEXT,程序自动配置电子邮件相关信息。 第三步,配置完成后,输入相应的名称信息,即可设置完成,接下来程序会默认帮你导入你输入邮箱帐号的相关信息 业务逻辑如下:示例中有一个文本框用来模拟用户的信息,当程序退出的时候保存文本档的信息,并转到发送邮件的页面,让用户把信息保存到邮箱 里面。具体代码参考如下: 发送信息保存到邮箱 package com.terry; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.KeyEvent; import android.widget.EditText; public class networkActivity extends Activity { private EditText myEditText; /** Called when the activity is first created. */ @Override public void onCreate

Requests库基础教程

北城余情 提交于 2020-03-07 04:51:56
Response对象的属性: Requests库的异常: 爬虫通用代码框架: url = "https://item.jd.com/2967929.html" try: r = requests.get(url) r.raise_for_status() r.encoding = r.apparent_encoding # 正确的编码显示 print(r.text[:1000]) except: print("爬取失败!") Requests库的7大方法: 关于HTTP协议: HTTP,超文本传输协议。是一个基于“请求与响应”模式的、无状态的应用层协议。 HTTP协议采用URL作为定位网络资源的标识。 URL格式:http://host[:port][path],URL是通过HTTP协议存取资源的Internet路径。 HTTP协议对资源的操作(6大方法): 网络爬虫的规模: Robots协议: Robots Exclusion Standard 网络爬虫排除标准 作用:网站告知网络爬虫哪些页面可以抓取,哪些不行。Robots协议是建议但非约束性的,不遵守存在法律风险。 形式:在网站根目录下的robots.txt文件。如: http://fanyi.youdao.com/robots.txt 例子 # ip地址归属地查询 url = "https://ipchaxun.com/"

微信域名封禁检测接口API使用说明

╄→гoц情女王★ 提交于 2020-03-07 04:27:47
微信域名封禁检测接口API是腾讯官方对外公布的域名状态查询接口,请求接口可实时查询域名在微信中的状态信息。如果状态异常则返回结果提示“域名被封”,如果未有异常则返回结果提示“域名正常”。 微信域名检测接口 格式1: http://www.60ht.cn/wxcheck/api.php?url=http://www.baidu.com 格式2: http://www.xiaocaoff.cn/api/check.php?url=http://www.baidu.com 格式3: http://www.dxcheck.cn/api.php?url=http://www.baidu.com 实时检测范围 域名封禁检测接口可检测到域名的四种异常: 1、链接报红:提示已停止访问该网页 2、安全提示:提示非官方网页 3、安全提示:提示网址包含过多重定向 4、拦截提示:请长按复制链接使用浏览器访问 应用场景 由于微信对外部链接内容规范比较严格,所以可能一不小心就会被判定为是违反内容规范的,或被同行恶意举报投诉之类的。 那么此时就要用到微信域名检测接口,实时检测域名的状态,从而才可以防患于未然,不影响推广。上面分享的微信域名拦截检测api,是采用微信官方接口打造,可以实时检测微信域名安全,有异常及时通知,非常稳定,准确率达100%。 接口文档 1、在线使用 将api接口地址中的“http:/

[计算机网络]HTTP协议

半腔热情 提交于 2020-03-07 02:37:35
转载自:https://www.cnblogs.com/ranyonsue/p/5984001.html 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请求-响应模型.jpg 主要特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活

Apache: rewrite跳转 防盗链

戏子无情 提交于 2020-03-06 19:53:43
实验环境 第一台centos7源码安装apache2.4.38 IP 192.169.1.13 关闭防火墙 一.rewrite跳转 Rewrite主要的功能就是实现URL的重写。它的正则表达式是基于Perl语言,入站的规则用于修改 HTTP 请求 Url。这些规则可以为以下几个目的,如演示对用户更加友好的 URL 命名空间为您的 Web 站点,将请求的 Url 重定向到新位置,或阻止访问 Url 来提供服务。 简单来说,作用就是,例如输入baidu.com实际上跳转跳转到了www.baidu.com,这就是rewrite跳转, 只是对用户访问的URL更加友好 本例网站域名为www.ajbn.com,例如的访问ajbn.com.cn,或者ajbn.com都跳转到www.ajbn.com 1.安装rewrite模块 就使用DOS模式安装了,你在源码编译的时候 --enable-rewrite方式 不过编译的时候安装的,检测不出来,最好使用DOS安装一次 [root@apache1 ~]# apxs -c -i -a /root/httpd-2.4.38/modules/mappers/mod_rewrite.c [root@apache1 ~]# apachectl -M | grep rewrite rewrite_module (shared) #DOS安装方式 2.修改配置文件

大数据面试之——大数据解决方案思维题

丶灬走出姿态 提交于 2020-03-06 17:09:11
1.给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:假如每个url大小为10bytes,那么可以估计每个文件的大小为50G×64=320G,远远大于内存限制的4G,所以不可能将其完全加载到内存中处理,可以采用分治的思想来解决。 Step1:遍历文件a,对每个url求取hash(url)%1000,然后根据所取得的值将url分别存储到1000个小文件(记为a0,a1,…,a999,每个小文件约300M); Step2:遍历文件b,采取和a相同的方式将url分别存储到1000个小文件(记为b0,b1,…,b999); 巧妙之处:这样处理后,所有可能相同的url都被保存在对应的小文件(a0vsb0,a1vsb1,…,a999vsb999)中,不对应的小文件不可能有相同的url。然后我们只要求出这个1000对小文件中相同的url即可。 Step3:求每对小文件ai和bi中相同的url时,可以把ai的url存储到hash_set/hash_map中。然后遍历bi的每个url,看其是否在刚才构建的hash_set中,如果是,那么就是共同的url,存到文件里面就可以了。 方案2:如果允许有一定的错误率,可以使用Bloomfilter,4G内存大概可以表示340亿bit