url

ASP.NET suddenly wants a trailing slash

↘锁芯ラ 提交于 2020-04-07 09:28:08
问题 In an ASP.NET application, we have plenty (think, several dozen) of controller classes like this: [RoutePrefix("some/thing/1.0")] public class SomeController : ApiController { [HttpGet] [Route("")] public string GetInfo() { return "hello world"; } [HttpPut] [Route("")] public void StoreInfo(string info) { // ... } } This has been working fine for some weeks, without any issues. We could call those endpoints as follows: GET https://myWebApp/client/some/thing/1.0 Now, with yesterday's nightly

目前学习的爬取小数据图片zzz

℡╲_俬逩灬. 提交于 2020-04-07 04:51:29
import os import threading import re import time from lxml import etree all_img_urls = [] # 图片列表页面的数组 g_lock = threading.Lock() # 初始化一个锁 # 声明一个生产者的类,来不断地获取图片详情页地址,然后添加到 all_img_url列表中 # url = "http://www.xiaohuar.com/" all_urls = [] class Spider(object): # 构造函数,初始化数据实用 def __init__(self,target_url,headers): self.target_url = target_url self.headers = headers # 获取所有的想要抓取的URL def getUrls(self,start_page,page_num): for i in range(start_page,page_num): url = self.target_url % i all_urls.append(url) if __name__ == '__main__': headers = { "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit

YII Framework学习教程-YII的路由

 ̄綄美尐妖づ 提交于 2020-04-06 22:37:06
http://www.localyii.com/testwebap/index.php?r=testmod/default/index。 根据以前的知识,我们知道此url是访问的testmod module的default controller下的index action。对应的存储路径是: view plain ├── protected │ ├── modules │ │ └── testmod │ │ ├── components │ │ ├── controllers │ │ │ └── DefaultController.php │ │ ├── messages │ │ ├── models │ │ ├── TestmodModule.php │ │ └── views │ │ ├── default │ │ │ └── index.php 这里我们把testmod/default/index叫做路由。 注意: 默认情况下,路由是大小写敏感的,从版本 1.0.1 开始,可以通过设置应用配置中的CUrlManager::caseSensitive 为 false 使路由对大小写不敏感。当在大小写不敏感模式中时, 要确保你遵循了相应的规则约定,即:包含控制器类文件的目录名小写,且 控制器映射 和 动作映射 中使用的键为小写。 有时候我们可能需要自己定义url

css手势状态定义属性cursor和自定义鼠标手势详解

荒凉一梦 提交于 2020-04-06 21:52:30
css手势状态定义:cursor 和自定义鼠标手势详解 ,示例演示cursor手势状态如下: auto : 默认值。浏览器根据当前情况自动确定鼠标光标类型。 all-scroll : 有上下左右四个箭头,中间有一个圆点的光标。用于标示页面可以向上下左右任何方向滚动。 col-resize : 有左右两个箭头,中间由竖线分隔开的光标。用于标示项目或标题栏可以被水平改变尺寸。 crosshair : 简单的十字线光标。 default : 客户端平台的默认光标。通常是一个箭头。 hand : 竖起一只手指的手形光标。就像通常用户将光标移到超链接上时那样。 move : 十字箭头光标。用于标示对象可被移动。 help : 带有问号标记的箭头。用于标示有帮助信息存在。 no-drop : 带有一个被斜线贯穿的圆圈的手形光标。用于标示被拖起的对象不允许在光标的当前位置被放下。 not-allowed : 禁止标记(一个被斜线贯穿的圆圈)光标。用于标示请求的操作不允许被执行。 pointer : 和 hand 一样。竖起一只手指的手形光标。就像通常用户将光标移到超链接上时那样。 progress : 带有沙漏标记的箭头光标。用于标示一个进程正在后台运行。 row-resize : 有上下两个箭头,中间由横线分隔开的光标。用于标示项目或标题栏可以被垂直改变尺寸。 text :

前端图片上传那些事儿

寵の児 提交于 2020-04-06 18:25:18
本文讲的图片上传,主要是针对上传头像的。大家都知道,上传头像一般都会分成以下 4 个步骤: 选择图片 -> 预览图片 -> 裁剪图片 -> 上传图片 接下来,就详细的介绍每个步骤具体实现。 选择图片 选择图片有什么好讲的呢?不就一个 input[type=file] ,然后点击就可以了吗?确实是这样的,但是,我们想要做得更加的友好一些,比如需要过滤掉非图片文件, 或只允许从摄像头拍照获取图片等,还是需要进行一些简单配置的。 下面就先来看看最简单的选择图片: <input type="file" /> 这时候,点击这个 input , 在 iOS 手机的显示如下: 其中的 “浏览” 选项,可以查看到非图片类型的文件,这并不是我们想要的结果,毕竟我们只想要图片类型。可以通过 accept 属性来实现,如下: <input type="file" accept="image/*"> 这样就可以过滤掉非图片类型了。但是图片的类型可能也太多了, 有些可能服务器不支持,所以,如果想保守一些,只允许 jpg 和 png 类型,可以写成这样: <input type="file" accept="image/jpg, image/jpeg, image/png"> 或: <input type="file" accept=".jpg, .jpeg, .png"> OK, 过滤非图片的需求搞定了

使用url参数传递SAP Analytics Cloud filter的一个例子

北城以北 提交于 2020-04-06 14:32:03
例子如下: https:// /sap/fpa/ui/tenants/008/app.html#;view_id=story;storyId=E1E3EAF366F3CCAD5AD936E67714AFCF;f01Model=t.9.CBGDBM56H1FN8SP62W3ZERTNNK:CBGDBM56H1FN8SP62W3ZERTNNK;f01Dim=Entity;f01Val=[%22China%22,%22United%20States%22] 上述例子传递了两个值给technical ID为Entity的dimension,描述信息为Country Name,传递的两个值是encode过后的China和United States: 可以利用SAP Analytics Cloud自带的Compare to Previous Day功能,将当天的值同前一天的值相比较: 如果一个page里所有的图使用的是同一个model,则该model可以在url里省略。 https:// /sap/fpa/ui/tenants/008/app.html#;view_id=story;storyId=E1E3EAF366F3CCAD5AD936E67714AFCF;f01Dim=Entity;f01Val=China model ID可以通过这个url查看: https://de.ap1

源码分析Dubbo网络通信篇NettyClient

China☆狼群 提交于 2020-04-06 11:24:14
在源码分析 Dubbo 通讯篇之网络核心类一文中已给出 Dubbo netty client 的启动流程,如下图: 以 Dubbo 协议为例,DubboProtocol#refer 中,在创建 Invoker 时,通过 getClient 方法,开始 Client(连接的)创建过程,先重点看一下: private ExchangeClient[] getClients(URL url) { // @1 // whether to share connection boolean service_share_connect = false; int connections = url.getParameter(Constants.CONNECTIONS_KEY, 0); // @2 // if not configured, connection is shared, otherwise, one connection for one service if (connections == 0) { service_share_connect = true; connections = 1; } ExchangeClient[] clients = new ExchangeClient[connections]; // @3 for (int i = 0; i < clients

微信应用js-sdk自定义分享图文

大兔子大兔子 提交于 2020-04-06 08:46:03
之前写过步骤 但是代码很少 这里奉献上我自己写的代码 我是用js做的 先奉上js部分的代码 <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>众悦学车无忧险 免费申领</title> <meta name="description" content="李才桃"> <meta name="keywords" content="李才桃"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="renderer" content="webkit"> <meta http-equiv="Cache-Control" content="no-siteapp" /> <link rel="icon" type="image/png" href="assets/i/favicon.png"> <link rel="stylesheet" href="assets/css/amazeui.min.css"> <link href="css/app.css" rel="stylesheet"

UPnP基本原理介绍

我们两清 提交于 2020-04-06 07:05:26
http://blog.csdn.net/braddoris/article/details/41576515 随着计算机产业以及计算机网络技术的迅猛发展,越来越多嵌入式设备的出现和家庭网络的发展,实现各种设备的互联互通已经成为人们的迫切需求,而实现家庭网络互联互通的关键是家庭网络的中间件技术。业界各大厂商都提出了自己的解决方案,其中以微软提出的UPnP最具有发展前途,也获得了最广泛的支持,目前UPnP基本是家庭网络设备必须支持的特性之一。 UPnP是通用即插即用(Universal Plug and Play)的缩写,主要用于设备的智能互联互通,使用UPnP协议不需要设备驱动程序,它可以运行在目前几乎所有的操作系统平台上,使得在办公室、家庭和其他公共场所方便地构建设备互联互通成为可能。 本文介绍了UPnP所定义的基本协议(如SSDP、GENA、SOAP等),重点分析了UPnP实现的基本工作流程,并通过抓包工具捕获数据包,对各种流程传递的协议报文进行详尽分析,最后结合NAT技术,重点叙述UPnP在NAT技术中的应用。 2 UPnP的结构规范 UPnP最大的愿景是希望任何设备一旦连接上网络,所有在网络上的设备马上就能知道有新设备加入,这些设备彼此之间能互相通信,更能直接使用或者控制它,一切都不需要人工设置,完全的即插即用。 2.1 UPnP的基本组件 服务

js 迅雷 批量下载

妖精的绣舞 提交于 2020-04-06 06:45:37
参考 http://open.thunderurl.com/#/ 效果 点击下载按钮, 会弹出批量下载对话框 主要函数 function f2() { let link = [ // 'magnet:?xt=urn:btih:884DDE11B387DD22248B4F3FADF95CCC2543E4AF', // 'magnet:?xt=urn:btih:9B5E0FAE68D38F4EE82C1308AC41BDDF54B73A3C' // http://down.sandai.net/ThunderVIP/ThunderVIP-xlgw.exe 'http://down.sandai.net/mac/thunder_3.2.2.3574.dmg', 'http://down.sandai.net/XLNetAcc/XLNetAccSetup.exe', 'http://xmp.down.sandai.net/xmp/XMPSetup_5.4.0.6151-dl.exe', // http://down.sandai.net/XLFileMail/XLFileMailSetup.exe // http://down.sandai.net/xljiasu/XlaccSetup3.17.0.9122_jsqgw.exe ] // 通过参数创建批量任务 let opt = {