iOS加载WebP

遇到场景:首先直播需要展示 *物(会动的*物)

解决:按之前的考虑是 加载 gif , 但是gif 会产生锯齿导致*物不好看,*后我们想到了webp , 我们将 UI 设计好的 png 几个帧数 合成了webp 格式。

加载webp 我使用的是 YYWebImage
首先加载执行

pod ‘YYWebImage’, ‘~> 1.0.5’

跟着执行

pod ‘YYImage/WebP’

先执行*步不然第二个 webp 加载不出来。
*后我们打开项目查下 是否有WebP.framwork 这个

%title插图%num
其实WebP 有两种,一种是静态,一种是动态(类似gif 很多张合成一个会动的图)

这个是静态的webp
YYAnimatedImageView *imgView = [[YYAnimatedImageView alloc] init];
imgView.frame = CGRectMake(10.f, 80.f, width, width);
imgView.backgroundColor = [UIColor purpleColor];
[self.view addSubview:imgView];

NSURL *url = [NSURL URLWithString:@”http://xx/app/test.webp”];
[imgView yy_setImageWithURL:url placeholder:nil];

这加载 动态的webp
YYAnimatedImageView *imgView2 = [[YYAnimatedImageView alloc] init];
imgView2.frame = CGRectMake(CGRectGetMaxX(imgView.frame) + 10.f, CGRectGetMinY(imgView.frame), width, width);
imgView2.backgroundColor = [UIColor purpleColor];
[self.view addSubview:imgView2];

NSURL *url2 = [NSURL URLWithString:@”http://pia2njyxv.bkt.clouddn.com/out.webp”];
[imgView2 yy_setImageWithURL:url2 placeholder:nil];

这个是加载gif (为了对比记载一个gif 看看)
YYAnimatedImageView *imgView3 = [[YYAnimatedImageView alloc] init];
imgView3.frame = CGRectMake(10.f, CGRectGetMaxY(imgView.frame) + 20.f, width, width);
imgView3.backgroundColor = [UIColor purpleColor];
[self.view addSubview:imgView3];

NSURL *url3 = [NSURL URLWithString:@”http://xx/pre/gifts/gift_send_5_1541749467.gif”];
[imgView3 yy_setImageWithURL:url3 placeholder:nil];

 

*后看看 效果图

%title插图%num
后面会继续写 怎样将png合成一个webp (假设的前提是你们的UI 不会,如果会就忽略过就好)
下午继续写

DDoS攻击方式的学习与了解

之前并未接触过DDoS,也不是很了解这种攻击方式到底分了多少种,近日分析一个样本,发现是DDoS攻击工具,于是要求我去分析下使用的是什么攻击方式,我也很疑惑,他们讲的一些攻击方式我也没有听说过,也不了解,于是就赶紧趁机会百度,谷歌学习了一下,*后在知乎上找到了一些比较详细的说明吧,是知道创宇的官方公众号写的,我觉得他解释和说明的都很不错,于是就打算拿来学习一下,下次就不用找相关的资料那么麻烦了。

作者:知道创宇 云安全
链接:https://www.zhihu.com/question/22259175/answer/378530276
来源:知乎

DDoS攻击有哪些?

ICMP Flood

ICMP(Internet控制报文协议)用于在IP主机、路由器之间传递控制消息,控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。通过对目标系统发送海量数据包,就可以令目标主机瘫痪,如果大量发送就成了洪水攻击。

UDP Flood

UDP协议是一种无连接的服务,在UDP Flood 中,攻击者通常发送大量伪造源IP地址的小UDP包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k bps的UDP Flood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。

上述传统的流量型攻击方式技术含量较低,伤人一千自损八百,攻击效果通常依赖受控主机本身的网络性能,而且容易被查到攻击源头,单独使用的情况已不常见。于是,具有四两拔千斤效果的反射型放大攻击就出现了。

NTP Flood

NTP是标准的基于UDP协议传输的网络时间同步协议,由于UDP协议的无连接性,方便伪造源地址。攻击者使用特殊的数据包,也就是IP地址指向作为反射器的服务器,源IP地址被伪造成攻击目标的IP,反射器接收到数据包时就被骗了,会将响应数据发送给被攻击目标,耗尽目标网络的带宽资源。一般的NTP服务器都有很大的带宽,攻击者可能只需要1Mbps的上传带宽欺骗NTP服务器,就可给目标服务器带来几百上千Mbps的攻击流量。

因此,“问-答”方式的协议都可以被反射型攻击利用,将质询数据包的地址伪造为攻击目标地址,应答的数据包就会都被发送至目标,一旦协议具有递归效果,流量就被显著放大了,堪称一种“借刀杀人”的流量型攻击。

SYN Flood

这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。建立TCP连接,需要三次握手——客户端发送SYN报文,服务端收到请求并返回报文表示接受,客户端也返回确认,完成连接。

SYN Flood 就是用户向服务器发送报文后突然死机或掉线,那么服务器在发出应答报文后就无法收到客户端的确认报文(第三次握手无法完成),这时服务器端一般会重试并等待一段时间后再丢弃这个未完成的连接。一个用户出现异常导致服务器的一个线程等待一会儿并不是大问题,但恶意攻击者大量模拟这种情况,服务器端为了维护数以万计的半连接而消耗非常多的资源,结果往往是无暇理睬客户的正常请求,甚至崩溃。从正常客户的角度看来,网站失去了响应,无法访问。

CC 攻击

CC攻击是目前应用层攻击的主要手段之一,借助代理服务器生成指向目标系统的合法请求,实现伪装和DDoS。我们都有这样的体验,访问一个静态页面,即使人多也不需要太长时间,但如果在高峰期访问论坛、贴吧等,那就很慢了,因为服务器系统需要到数据库中判断访问者否有读帖、发言等权限。访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就相当可观。

CC攻击就充分利用了这个特点,模拟多个正常用户不停地访问如论坛这些需要大量数据操作的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的请求,网络拥塞,正常访问被中止。这种攻击技术性含量高,见不到真实源IP,见不到特别大的异常流量,但服务器就是无法进行正常连接。

之所以选择代理服务器是因为代理可以有效地隐藏自己的身份,也可以绕开防火墙,因为基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。当然也可以使用肉鸡来发动CC攻击,攻击者使用CC攻击软件控制大量肉鸡发动攻击,肉鸡可以模拟正常用户访问网站的请求伪造成合法数据包,相比前者来说更难防御。

CC攻击是针对Web服务在第七层协议发起的攻击,在越上层协议上发动DDoS攻击越难以防御,上层协议与业务关联愈加紧密,防御系统面临的情况也会更复杂。比如CC攻击中*重要的方式之一HTTP Flood,不仅会直接导致被攻击的Web前端响应缓慢,对承载的业务造成致命的影响,还可能会引起连锁反应,间接攻击到后端的Java等业务层逻辑以及更后端的数据库服务。

由于CC攻击成本低、威力大,知道创宇安全专家组发现80%的DDoS攻击都是CC攻击。带宽资源严重被消耗,网站瘫痪;CPU、内存利用率飙升,主机瘫痪;瞬间快速打击,无法快速响应。

DNS Query Flood

DNS作为互联网的核心服务之一,自然也是DDoS攻击的一大主要目标。DNS Query Flood采用的方法是操纵大量傀儡机器,向目标服务器发送大量的域名解析请求。服务器在接收到域名解析请求时,首先会在服务器上查找是否有对应的缓存,若查找不到且该域名无法直接解析时,便向其上层DNS服务器递归查询域名信息。

通常,攻击者请求解析的域名是随机生成或者是网络上根本不存在的域名,由于在本地无法查到对应的结果,服务器必须使用递归查询向上层域名服务器提交解析请求,引起连锁反应。解析过程给服务器带来很大的负载,每秒钟域名解析请求超过一定的数量就会造成DNS服务器解析域名超时。

根据微软的统计数据,一台DNS服务器所能承受的动态域名查询的上限是每秒钟9000个请求。而一台P3的PC机上可以轻易地构造出每秒钟几万个域名解析请求,足以使一台硬件配置*高的DNS服务器瘫痪,由此可见DNS服务器的脆弱性。

混合攻击

在实际情况中,攻击者只求达到打垮对方的目的,发展到现在,高级攻击者已经不倾向使用单一的攻击手段作战了,而是根据目标系统的具体环境灵动组合,发动多种攻击手段,既具备了海量的流量,又利用了协议、系统的缺陷,尽其所能地展开攻势。

对于被攻击目标来说,需要面对不同协议、不同资源的分布式的攻击,分析、响应和处理的成本就会大大增加。

还有一位知乎网友举例子比较形象,可以让我们更加容易理解

作者:刘哲
链接:https://www.zhihu.com/question/22259175/answer/37315615
来源:知乎
  • 某饭店可以容纳100人同时就餐,某日有个商家恶意竞争,雇佣了200人来这个饭店坐着不吃不喝,导致饭店满满当当无法正常营业。(DDOS攻击成功)
  • 老板当即大怒,派人把不吃不喝影响正常营业的人全都轰了出去,且不再让他们进来捣乱,饭店恢复了正常营业。(添加规则和黑名单进行DDOS防御,防御成功)
  • 主动攻击的商家心存不满,这次请了五千人逐批次来捣乱,导致该饭店再次无法正常营业。(增加DDOS流量,改变攻击方式)
  • 饭店把那些捣乱的人轰出去只后,另一批接踵而来。此时老板将饭店营业规模扩大,该饭店可同时容纳1万人就餐,5000人同时来捣乱饭店营业也不会受到影响。(增加硬防与其抗衡)

DDOS是Distributed Denial of Service的缩写,翻译成中文是“分布式拒*服务“攻击,网络中的DDOS攻击与防御与上面例子所述差不多,DDOS只不过是一个概称,其下有各种攻击方式,比如“CC攻击、SYN攻击、NTP攻击、TCP攻击、DNS攻击等等”,现在DDOS发展变得越来越可怕,NTP攻击渐渐成为主流了,这意味着可以将每秒的攻击流量放大几百倍,比如每秒1G的SYN碎片攻击换成NTP放大攻击,就成为了200G或者更多。

作者:欧阳闲的
链接:https://www.zhihu.com/question/22259175/answer/363980556
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

ddos简单的说就是让流量瞬间把服务器带宽耗尽!cpu耗尽!是一种网络暴力手段!今年3月份的时候我们遇到一个做ddos的高手和我们合作 做的是手游棋牌 瞬间就把我们的对手给打崩溃了!后来他们的玩家都跑来我们的平台玩了!攻防无*对,技术无黑白!实力证明一切 王者*非偶然!

1:DDOS攻击的全称叫作 distribution deny of service(分布式拒*服务攻击)。顾名思义,这种攻击的方式是控制分布在全世界各个地方的服务器,发出指令,让这些服务器同时攻击一个目标,使得被攻击的计算机信息系统耗尽网络带宽资源、性能资源,无法正常运行或提供服务

2:攻击流程分为2个阶段:搜集肉鸡和发动攻击。
● 搜集肉鸡
 攻击者可以通过各种手段搜集肉鸡,包括购买他人非法入侵获得的肉鸡、自己实施入侵并传播木马、租赁服务器和带宽等。
在此过程中,攻击者必然会在肉鸡上种植木马,以便统一集中控制和发动攻击指令。

● 发动攻击 攻击者发出指令,让肉鸡同时发起攻击,发送大量攻击的网络数据包,耗尽目标网络带宽或者其他资源,导致被攻击目标无法提供正常服务。

● 攻击后果 攻击者可以通过多台肉鸡同时发送大量垃圾数据,造成大流量的数据包,导致服务器带宽耗尽,正常玩家无法发送网络数据包,服务器无法及时反馈数据,游戏运营被迫中断。

总结一句话来说 现在的ddos行业就是一个互相烧钱 让对方流失客源的一种暴力行为!希望大家能借鉴!! 

微信网页端部分华为手机不能正常显示网页的问题

之前写了个网页,JSP 写的,是在微信上预约登记用,打开网页后调用 api 登录,并存储预约和 openid 信息

一开始都是正常的,上线后,甲方反馈网页有时候打开是异常的,并截图给我看了

截图很明显的可以看出来是 JS 、图片等静态资源没有加载出来

经过多次反馈,总结了一下问题出现的情况:

1 、只有华为手机会出现,而且应该是部分高端一点的华为手机才会出现
2 、网页用域名访问才会出现,换成 ip + 端口 访问就不会出现

因为是网页,加上只有在部分手机上才能复现,所以没办法调试和查找问题(我是菜鸡),所以来大佬云集的 V2 问问各位大佬,你们遇到过这种情况吗?怎么解决呢?

或者请教一种能在微信网页里查找问题的方法,谢谢大家
网页 华为 微信 菜鸡11 条回复 • 2021-06-28 13:20:21 +08:00
vk42 1
vk42 2 小时 33 分钟前
以前华为自己 fork 了一个早期版本的 WebKit 做了个 Huawei Webview,而且一直没有跟进 upstream,导致会有各种兼容性问题。现在不清楚什么情况了,也不知道 lz 问题和这个关系不……
seamonster 2
seamonster 2 小时 29 分钟前
@vk42 #1 不知道诶,现在就解决不了,很烦
GOKOG 3
GOKOG 2 小时 25 分钟前
不知道 jsp 是否能引入 vConsole,可以 debug 一下
seamonster 4
seamonster 2 小时 23 分钟前
@GOKOG #3 我试过了,但是 vConsole 再页面加载完了才开始启用,检测不到前面的请求…
GOKOG 5
GOKOG 2 小时 20 分钟前
@seamonster 第三方浏览器有这个问题吗
adminharlem 6
adminharlem 2 小时 20 分钟前
Huawei Webview 的问题
seamonster 7
seamonster 2 小时 14 分钟前
@GOKOG #5 其他的正常,就在微信里不行,而且微信里用 IP 访问正常,域名不行
youbaoer 8
youbaoer 1 小时 57 分钟前
鸿蒙,EDGE 浏览器,BTSOW, 选择磁力链接后弹出来菜单是空白的。但点下左边空白处还能复制。
youbaoer 9
youbaoer 1 小时 55 分钟前
@youbaoer 重新试了下 Inprivate 模式下的问题
faqqcn 10
faqqcn 11 分钟前
微信内打开 http://debugx5.qq.com/ ,然后打开 「打开 TBS 内核 inspector 」,在 PC 上用 Chrome 连接手机进行检查。

至于你说的这个情况,更像是 DNS 的问题

faqqcn 11
faqqcn 10 分钟前
补充,如果不是 x5 内核的话,就要找对应 webview 的调试方式,没有 HUAWEI 设备,没法测试

有人复制了我的 MIT 开源项目并删除了所有与我相关的信息,支支招

起源于我开发的开源项目 element-pro-components

今天发现一个项目 Element Enahcne 与我的项目高度重复,查看他的代码。完全是复制我项目的代码,删除 git 信息,修改前缀,而且删除了我的 LICENSE 。

而我去他项目提 issues,直接被他删除,却跑到我的项目发 issues,一点也不尊重人。

@Jmysy 过来恶心人,并且请停止抄袭我的项目。

项目 开源 支支 issues89 条回复 • 2021-06-28 13:21:23 +08:00
ufan0 1
ufan0 15 小时 52 分钟前
首先站内 @Livid,
然后代码平台发邮件。
yitingbai 2
yitingbai 15 小时 43 分钟前
这种人除了道德谴责也没别的办法了, 开源嘛, 想开点
tolking 3
tolking 15 小时 35 分钟前
@ufan0 感谢
Kilerd 4
Kilerd 15 小时 11 分钟前 ❤️ 3
不是,你都 MIT 了,不是默许别人这么做了的吗?

难不成你选的 license 就是随口一说? 别人拿你的东西挣了钱,挣了声望,你就眼红了?就嫉妒了?
learningman 5
learningman 15 小时 9 分钟前 via Android ❤️ 24
@Kilerd 谁默许了??? MIT 要求必须包括著作权声明和 MIT 证书本身好吧
Kilerd 6
Kilerd 15 小时 8 分钟前
看了一下,他无非就是删除了你的 LICENSE 这么一件事违反了 MIT 协议,其他的都是在 MIT 里面默许的操作。
neteroster 7
neteroster 15 小时 8 分钟前 via Android ❤️ 9
@Kilerd MIT 协议不允许删原作者的 LICENSE 。
tolking 8
tolking 15 小时 2 分钟前
@Kilerd 关键是他删除了我的 LICENSE 。已经在 gitee 上举报了,github 上还没有找到地方举报
ysc3839 9
ysc3839 14 小时 53 分钟前 via Android ❤️ 6
@Kilerd MIT 协议写得很清楚
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
也就是说如果你不保留 license 的话,那前文所述的授权就不会生效,不存在“默许”一说。
FindHao 10
FindHao 14 小时 50 分钟前 via Android
https://docs.github.com/en/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam

IgniteWhite 11
IgniteWhite 14 小时 45 分钟前 ❤️ 46
楼上有几个说的是什么话,违反了 MIT 就是违反了,没有什么“违反一点点”,没有什么“不值得维权”。当然要维护作者的权利啊!还有人说“开源想开点”,真的是醉了
hazy 12
hazy 14 小时 40 分钟前 ❤️ 3
支持举报,很多人都以为 MIT 就可以为所欲为了,结果连协议内容都没认真看过
konnnnn 13
konnnnn 14 小时 37 分钟前
可耻,他居然还发过几个贴宣传
tolking 14
tolking 14 小时 13 分钟前
@FindHao 感谢,已经申请了 DMCA
zvl0reqglvd 15
zvl0reqglvd 13 小时 49 分钟前 ❤️ 1
一直觉得程序员这个职业有个问题,无偿分享自己的技术,还弄个 GitHub 生怕别人不知道,老话说的好,教会徒弟,饿死师傅。然后资本家可以根据你的文档和分享找个更年轻的替代你。自己给自己挖坑埋自己。蜜汁操作。

为啥要开放全部源代码呢?做成动态链接库,加些限制在里面我感觉比较好些。
Smash 16
Smash 13 小时 37 分钟前
怼到底,这种事儿没有商量的余地,你可以用我的代码,但是你得守规矩。
cmdOptionKana 17
cmdOptionKana 13 小时 37 分钟前 ❤️ 1
@zvl0reqglvd 开源有利于宣传,多数普通个人开发者搞开源的目的是攒点小名气、攒点赞让简历好看等等。

如果拥有能拿来赚钱的闭源技术,且开源会直接影响自己赚钱,这种情况下当然不会傻傻地开源(就算开源也是思考过,开源一部分,或拿到了投资开始开发高级版等等)。
stimw 18
stimw 13 小时 30 分钟前 via Android ❤️ 9
4 楼三连问把我看傻了,怕不是也干过这事
binux 19
binux 13 小时 28 分钟前 via Android ❤️ 4
@zvl0reqglvd 我靠开源工资已经一路涨了 20 倍了,就算不开源,那些东西能给我赚个零头?
stimw 20
stimw 13 小时 22 分钟前 via Android
看了下他的发帖,这人的项目不会全是抄的吧?
IgniteWhite 21
IgniteWhite 13 小时 13 分钟前
@binux 活捉大神
h404bi 22
h404bi 12 小时 51 分钟前
佩服 4 楼,MIT 许可协议具体规则不搞清楚就来个“拷问”三连,写的项目还用着 MIT 。
learningman 23
learningman 12 小时 41 分钟前 via Android
@zvl0reqglvd 那你有没有想过,gcc 如果也要授权,会是怎么样呢?
Python 执行器先交 100 刀,一个包再 20 刀。C++用 std 编译一次 5 美元
twl007 24
twl007 11 小时 36 分钟前 via iPhone
@Kilerd 就算你 fork 一份在公司内网 你也要保留人家的 license 好吧 这种行为很恶劣好吧 跟偷窃有什么区别?
jupiter157 25
jupiter157 10 小时 54 分钟前 via iPhone ❤️ 7
强奸犯也只是开始违反了一点点意愿,后面的和谈恋爱流程一样的
Yvette 26
Yvette 8 小时 30 分钟前
@jupiter157 ???
leokino 27
leokino 7 小时 20 分钟前
@Kilerd 这话说的真是搞笑,那不如以后说“无非是没有付钱”这一件事情没有遵照协议执行,其他都是允许的操作。更何况 MIT 协议约定的使用者义务非常少,不遵守=无授权。
2G 28
2G 7 小时 5 分钟前
支持维权!
JaguarJack 29
JaguarJack 6 小时 52 分钟前 via iPhone
@tolking 可以发邮件的,会很快有回复和处理
hw2ex 30
hw2ex 6 小时 20 分钟前 via Android
MIT 协议基本没什么限制,这是其中一方面,另一方面是国内很多大公司都有把别人开源改的,也是实情,建议楼主既然都 MIT 开源了,各取所需就是了
who1996 31
who1996 6 小时 15 分钟前
没有啥特别涉及利益的别大动肝火,没必要。

很多人不会跟你讲仁义道德的,比如我前段时间遇到一个人,求你的时候说话很正常,当没事求你的时候开始在那里放洋炮。
panda1337 32
panda1337 5 小时 27 分钟前
www.pearadmin.com 是他的网站,已安排 ddos
way2explore2 33
way2explore2 5 小时 13 分钟前 via Android
看来好多人误解了,以为只是用你代码而已
snw 34
snw 5 小时 6 分钟前 via Android ❤️ 2
楼上某些人真是令人无语。

署名权是知识创作者的*基本权利,这就是为什么几乎所有自由协议(不只是软件类,还有其他知识产权例如 CC )都有署名这条要求。另外像专利权,即使可以让渡几乎所有权利,作者一般依然可以保留署名。

要是真的作者不在乎署名,那么直接释放到公有领域 public domain (或者 CC0,WTFPL 之类等价许可)就行了。既然作者用了 MIT 许可,就说明作者是希望保留署名权的。
rioshikelong121 35
rioshikelong121 4 小时 58 分钟前
ddos 安排起来。 楼上有的人真的是给我整笑了,偷了就是偷了。
tairan2006 36
tairan2006 4 小时 49 分钟前
回帖丰富了 block 名单……

DCMA 走起来
crystone 37
crystone 4 小时 48 分钟前
@rioshikelong121 小学生长大了
TsubasaHanekaw 38
TsubasaHanekaw 4 小时 45 分钟前
楼上已经安排 ddos 的 真是已经在触犯刑法了
jorneyr 39
jorneyr 4 小时 27 分钟前
教教怎么搞 DDOS 吧,实用。
Rheinmetal 40
Rheinmetal 4 小时 19 分钟前 ❤️ 3
@zvl0reqglvd
和早期大佬的想法和整个产业的性质有关系。
你想想如果封闭的话会变成什么样。
Gcc 的 license5 万美元一个。人不值钱
保护来保护去都是大公司的利益,程序员汤都没有。
msaionyc 41
msaionyc 4 小时 16 分钟前 via iPhone
@Kilerd 无非?
hijoker 42
hijoker 4 小时 14 分钟前
太 jier 不要脸了吧,人肉丫的
Rheinmetal 43
Rheinmetal 4 小时 12 分钟前
@rioshikelong121 声称安排是否足够定罪呢?
weak 44
weak 4 小时 6 分钟前 via iPhone
4 楼莫非是敌军派来了的
wellsc 45
wellsc 4 小时 4 分钟前
@ufan0 站内 livid 有用?那站长管的还挺多
no1xsyzy 46
no1xsyzy 4 小时 1 分钟前 ❤️ 1
@zvl0reqglvd 这你要问 ESR

@Kilerd 你是不是对法律有什么误解?
除了执行器目前不是机器而是人以外,法律文本和程序代码没有区别,只有自身明确允许(声明类型)和上位法明确允许(引入类型)和隐式允许(推导类型),从来没有「默许」一说(默许只会是执行策略的一部分)。值得注意的是:『如果 MIT 是「默许」,则大量的授权代码将无法被使用』,因为专利不可默许(实际上 MIT 的文本中隐式允许了专利使用权)。

就是你写出的 `if (false) { print(“Hello world”) }` 还在问为什么没打印?
xuanbg 47
xuanbg 4 小时 0 分钟前
这种事我都是眼不见心不烦。看见也当没看见
Spoience 48
Spoience 3 小时 58 分钟前 via Android
点进去看他的那个帖子:开发文档|更新日志|常见问题|发布需求 几个链接都 404/403 了?应该是心虚删库或者 make private 了吧?
coolair 49
coolair 3 小时 56 分钟前
学习心得:
1 )了解受众。
2 )必须有图。
3 )常更新。
ziskyex 50
ziskyex 3 小时 53 分钟前 via Android
支持维权
creanme 51
creanme 3 小时 52 分钟前 via Android
萌新不太懂,想请教一下你的 LICENSE 是指啥,我翻了一下你的项目,只看到一个 MIT LICENSE 。
ohwind 52
ohwind 3 小时 52 分钟前
@Kilerd MIT 不是 WTFPL,如果不带 MIT 证书,MIT 许可不会生效,这算侵权
ohwind 53
ohwind 3 小时 49 分钟前
@zvl0reqglvd 开源不是无偿,free 不是 free
ohwind 54
ohwind 3 小时 47 分钟前
@creanme 只有 MIT 说明 LICENSE 就是 MIT 啊,难道你觉得 MIT 不算吗……
37Y37 55
37Y37 3 小时 37 分钟前
楼上的回答把我看笑了,无非就是 xxx
dfkjgklfdjg 56
dfkjgklfdjg 3 小时 36 分钟前
关键是还去仓库提了 Issue…..这操作…emmmmmmm
Cy1 57
Cy1 3 小时 34 分钟前
@Kilerd 就问一句,他违反 MIT 了没有?
如果违反了,那正常维权为什么要被你说成眼红和嫉妒?这是什么逻辑?
abersheeran 58
abersheeran 3 小时 28 分钟前 ❤️ 1
所有程序员应该都是享受过开源世界带来的好处的。端起碗叫爹,放下碗骂娘的行为不可取。

我还记得 SSR 作者当年因为违反开源协议被人骂了一路……给彼时还比较呆的我留下了深刻的印象。
cstj0505 59
cstj0505 3 小时 25 分钟前
@Kilerd 开源项目删除 license 这是也能无非?
blindpirate 60
blindpirate 3 小时 25 分钟前
@Jmysy
Jmysy committed 1 hour ago
Showing with 0 additions and 22,835 deletions.

开始删代码了: https://github.com/Jmysy/element-enhance/commit/f2d1bc507f834511a79ce8202250cafcdc5f2353
MoeMoesakura 61
MoeMoesakura 3 小时 24 分钟前
@zvl0reqglvd 不是我说,深度就有这种破事(
blindpirate 62
blindpirate 3 小时 22 分钟前
*搞笑的是盗窃者开始还开了个 issue 问问题: https://github.com/tolking/element-pro-components/issues/56

作者耐心回复完了盗窃者发现不错直接偷过来用了
tankren 63
tankren 3 小时 14 分钟前
@Kilerd 小号给自己开脱?
Maiiiiii 64
Maiiiiii 3 小时 11 分钟前
资瓷维权
nian8 65
nian8 3 小时 9 分钟前
ddos 感觉好友效果
SelFree 66
SelFree 3 小时 0 分钟前
大佬们可以查查他另一个项目了
xwayway 67
xwayway 2 小时 51 分钟前
项目都已经删了,或者说 private 了?
liuidetmks 68
liuidetmks 2 小时 50 分钟前
@panda1337 人家偷一个饼子,你拿一包炸药去炸老家?

正确的做法是,让他壮大,
*后诉诸法律,拿到巨额赔偿
我建议的时机是他公司 ipo 前
tolking 69
tolking 2 小时 38 分钟前
@panda1337
@hijoker
@nian8
不必,我需要的是维权
guanyin8cnq12 70
guanyin8cnq12 2 小时 24 分钟前
@tolking 违法协议,请求 github 删除他的代码
chenquincy 71
chenquincy 2 小时 11 分钟前
@blindpirate 大概率是惯犯,怕被扒个底朝天,很少在 V 站留言,真的被恶心到了
shayu*0001 72
shayu*0001 2 小时 6 分钟前
@Kilerd 先把几个开源的 License 以及他们的区别弄清楚再说吧。
HankAviator 73
HankAviator 2 小时 3 分钟前 via Android
无论什么情况都不要用另一个错误去报复已有的错误,尤其是事外人看起来会加重群体刻板印象的-比如滥发 issue 表示愤怒。v2ers 不要这样做。
ddos 私心是支持的☺️
zictos 74
zictos 1 小时 54 分钟前
如果赚钱了是否可以算侵犯著作权罪?毕竟违反了一部分规定就相当于没得到授权
opentrade 75
opentrade 1 小时 50 分钟前
@HankAviator 对的
Junzhou 76
Junzhou 1 小时 46 分钟前
@Kilerd “看了一下,他无非就是删除了你的 LICENSE 这么一件事违反了 MIT 协议,其他的都是在 MIT 里面默许的操作。”

这句话可真让人看了来气啊,“无非就是删除了你的 LICENSE 这么一件事违反了 MIT 协议,其他的都是在 MIT 里面默许的操作。” 看完这句话我傻了。。。
Jmysy 77
Jmysy 1 小时 37 分钟前 ❤️ 1
原 Forked 是拿来做 样式修订 与 组件扩展,考虑发版自由等,为后续的项目填充第三方库,但未保留原协议 而 违反 MIT 协议的部分内容,本人表示抱歉,无意引战,已删除相关仓库
raiz 78
raiz 1 小时 34 分钟前
大公司开源操作系统带的好头,风气越来越差 /狗头
beimenjun 79
beimenjun 1 小时 33 分钟前
@Kilerd 2014 年的 id 发出这种暴论,你这职业生涯究竟在搞什么东西啊。
extra888 80
extra888 1 小时 29 分钟前
支持维权
xd314697475 81
xd314697475 1 小时 28 分钟前
@ohwind open source 不等于 free

开源( open source )只是开放源码,具体的权益由所有人决定
自由( free )是完全开放的,任何人可以复制,分发,修改,不受任何限制
VZXXBACQ 82
VZXXBACQ 1 小时 26 分钟前
DCMA 提交 Github 干他啊,遇事 DDOS 的哥们真冲啊,法外狂徒。
unco020511 83
unco020511 1 小时 20 分钟前
@raiz 哈哈,又莫名被戳一下脊梁骨
raiz 84
raiz 1 小时 13 分钟前
@unco020511 我不是故意的,但我忍不住,限制整个网络都是关于整个主题的消息,b 乎,B 站,连同花顺都不放过。
fengfisher3 85
fengfisher3 1 小时 8 分钟前
支持维权。
zxcslove 86
zxcslove 25 分钟前
支持维权,法盲真多
wxw752 87
wxw752 24 分钟前
笑死我了,六楼老哥这个 [无非] 用的妙啊。侵权还能洗?
vexplain 88
vexplain 23 分钟前
支持维权。
arphone 89
arphone 7 分钟前
支持维权。。。

记一次服务器被爆破 防护历程

在腾讯云搞了一个云主机, 安装了宝塔的服务, 第三天登陆 后台发现有两个ip在爆破root 密码, 虽然对自己的密码强度比较自信, 但是被人惦记也是很难受。决定做点什么 。。。。
直接进入正题:
1. *基本的建议就是:平时登陆和工作的时候都使用普通用户进行操作 直接禁用root 登陆ssh, 有很多hk都在恶意爆破 root shh 直接k掉。
在sshd_config中修改如下就可以了:

PermitRootLogin no

附: 添加普通用户

adduser user

gpasswd -a user sudo
// 添加用户,并且加入sudo组

2.直接了当的方法, ssh秘钥, 具体操作方法 直接上大佬的 博客
自己写的也不清楚, 参照一下大佬。

3.DenyHosts : 个人认为是比较高效的,针对密码爆破的防护工具 具体安装 不再多写。
4.推荐一些关于ssh 的 东西吧
http://www.ibm.com/developerworks/cn/aix/library/au-sshsecurity/ IBM的各种介绍
http://erik-2-blog.logdown.com/posts/74081-ssh-principle SSH原理
http://skypegnu1.blog.51cto.com/8991766/1641064 SSH原理和基本使用
http://zhezhang.co/2015/01/deploy-ghost-on-digitalocean/ 部署ghost
http://blog.csdn.net/oncoding/article/details/4365062 SSH连接过程
https://blog.urfix.com/25-ssh-commands-tricks/ SSH小技巧
http://spenserj.com/blog/2013/07/15/securing-a-linux-server/ Securing a Linux Server 对服务器整体的安全提供方案。
http://www.lovelucy.info/vps-anti-ssh-login-attempts-attack.html 防爆破
https://mos.meituan.com/library/?tag=Ubuntu 美团云知识库
http://wiki.ubuntu.org.cn/OpenSSH%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B openssh 高级设置
https://www.linux.com/learn/advanced-ssh-security-tips-and-tricks linux.com文章
http://tool.oschina.net/commons?type=7 TCP/UDP常见端口
http://tool.chinaz.com/port/ 通过扫描工具查看自己的服务器端口开放状态

防止云服务器被爆破的一些措施

防止云服务器被爆破的措施
修改SSH登录端口
禁用root用户
友情提示
结语
*近频繁接收到云服务器告警信息,提示被暴力破解登录,由于本人懒惰,没有搭理,第二日IP被冻结!!!尴尬!!!为了防止再次被破解,加了一层简单的防护措施!

修改SSH登录端口
# 将#Port 22去掉#,修改为10000后的端口号,保存并退出
vi /etc/ssh/sshd_conf
:wq
# 重启SSH服务
systemctl restart sshd.service

禁用root用户
当然,修改端口有一定的作用,可以躲过一些广撒网式攻击,但由于有扫描端口的工具存在,ssh服务的端口经过扫描就会被发现,所以还需要进一步加强安全 —— 禁用root用户。

# 禁用root用户前当然还需要新建一个用户
adduser 用户名
# 修改用户密码(别太弱哦!!!)
password 用户名
# 修改新建用户的权限,先把权限文件的权限变成可编辑
chmod -v u+w /etc/sudoers
# 修改权限文件
vim /etc/sudoers
# 在文件*下方添加如下内容,为新账号添加权限后,保存并退出
用户名 ALL = (ALL) ALL
:wq
# *后为了安全,把权限配置文件的可编辑权限取消
chmod -v u-w /etc/sudoers
# 开始禁用root账号,在SSH服务的配置文件中,把root的远程登录权限禁止
# 将#PermitRootLogin yes去掉#,并将yes改为no,保存并退出
vi /etc/ssh/sshd_conf
:wq

友情提示
我的云服务之所以被爆破成功,客服的答复是某些数据库设置了弱密码,所以注意这些安全措施。
大家也可以不时使用lastb命令,看看电脑是否被人尝试远程登录。
lastb:显示远程登录失败的记录
用w命令看看当前是否其他人远程登录到服务器
%title插图%num

果然,我的云服务器仍然有人在使用root用户进行爆破,直接在云控制台将这些IP添加黑名单

结语
把root账号禁用了,使用自己创建的账号,基本就可以排除服务器被暴力破解的可能性了,但仍要注意不要在服务器中打开可疑的程序,或者安装来源不安全的软件,版本比较旧的软件也不要使用(有些旧版本软件有网上流传的安全漏洞),不同服务器间也*好使用规律不同的账号密码,某些数据库的密码不要太弱等;不然再万全的措施也会被攻破。

2021年1—5月份全国规模以上工业企业利润同比增长83.4% 两年平均增长21.7%

  1—5月份,全国规模以上工业企业实现利润总额34247.4亿元,同比增长83.4%(按可比口径计算,详见附注二),比2019年1—5月份增长48.0%,两年平均增长21.7%。   1—5月份,规模以上工业企业中,国有控股企业实现利润总额11049.9亿元,同比增长1.50倍;股份制企业实现利润总额24133.0亿元,增长86.5%;外商及港澳台商投资企业实现利润总额9394.4亿元,增长80.8%;私营企业实现利润总额10198.0亿元,增长56.3%。   1—5月份,采矿业实现利润总额3008.7亿元,同比增长1.36倍;制造业实现利润总额29006.6亿元,增长85.2%;电力、热力、燃气及水生产和供应业实现利润总额2232.1亿元,增长29.1%。   1—5月份,在41个工业大类行业中,39个行业利润总额同比增加,1个行业扭亏为盈,1个行业实现减亏。主要行业利润情况如下:有色金属冶炼和压延加工业利润总额同比增长3.87倍,黑色金属冶炼和压延加工业增长3.77倍, 石油和天然气开采业增长2.73倍,化学原料和化学制品制造业增长2.11倍,煤炭开采和洗选业增长1.09倍,汽车制造业增长81.1%,电气机械和器材制造业增长49.8%,计算机、通信和其他电子设备制造业增长49.3%,通用设备制造业增长45.5%,专用设备制造业增长38.4%,非金属矿物制品业增长30.3%,电力、热力生产和供应业增长24.7%,农副食品加工业增长11.0%,纺织业增长4.7%,石油、煤炭及其他燃料加工业由同期亏损转为盈利。   1—5月份,规模以上工业企业实现营业收入48.15万亿元,同比增长30.5%;发生营业成本40.20万亿元,增长28.6%;营业收入利润率为7.11%,同比提高2.05个百分点。   5月末,规模以上工业企业资产总计131.41万亿元,同比增长9.3%;负债合计73.96万亿元,增长8.2%;所有者权益合计57.44万亿元,增长10.8%;资产负债率为56.3%,同比降低0.6个百分点。   5月末,规模以上工业企业应收账款17.44万亿元,同比增长14.1%;产成品存货4.93万亿元,增长10.2%。   1—5月份,规模以上工业企业每百元营业收入中的成本为83.48元,同比减少1.24元;每百元营业收入中的费用为8.38元,同比减少0.72元。   5月末,规模以上工业企业每百元资产实现的营业收入为89.5元,同比增加14.5元;人均营业收入为158.9万元,同比增加36.3万元;产成品存货周转天数为17.8天,同比减少3.1天;应收账款平均回收期为52.5天,同比减少7.0天。   5月份,规模以上工业企业实现利润总额8299.2亿元,同比增长36.4%。    表1  2021年1—5月份规模以上工业企业主要财务指标  分 组 营业收入 营业成本 利润总额 1-5月 同比增长 1-5月 同比增长 1-5月 同比增长 (亿元) (%) (亿元) (%) (亿元) (%) 总计 481530.0 30.5 401976.0 28.6 34247.4 83.4 其中:采矿业 18660.9 28.4 12695.4 17.1 3008.7 135.5    制造业 426921.7 31.7 357511.0 29.9 29006.6 85.2    电力、热力、燃气及水生产和供应业 35947.3 19.2 31769.6 19.5 2232.1 29.1 其中:国有控股企业 128489.3 29.3 103004.7 25.5 11049.9 150.1 其中:股份制企业 355664.9 31.4 297123.3 29.5 24133.0 86.5    外商及港澳台商投资企业 112287.8 28.8 93373.3 26.9 9394.4 80.8 其中:私营企业 187330.1 31.1 161268.5 30.2 10198.0 56.3 注: 1.经济类型分组之间存在交叉,故各经济类型企业数据之和大于总计。 2.本表部分指标存在总计不等于分项之和情况,是数据四舍五入所致,未作机械调整。  表2  2021年1—5月份规模以上工业企业经济效益指标  分 组 营业收入利润率 每百元营业收入中的成本 每百元营业收入中的费用 每百元资产实现的营业收入 人均营业收入 资产负债率 产成品存货周转天数 应收账款平均回收期 1-5月 1-5月 1-5月 5月末 5月末 5月末 5月末 5月末 (%) (元) (元) (元) (万元/人) (%) (天) (天) 总计 7.11 83.48 8.38 89.5 158.9 56.3 17.8 52.5 其中:采矿业 16.12 68.03 11.30 43.3 106.9 60.0 13.3 41.0    制造业 6.79 83.74 8.44 105.6 157.2 55.3 19.5 53.4    电力、热力、燃气及水生产和供应业 6.21 88.38 6.15 39.7 257.2 59.0 0.9 48.0 其中:国有控股企业 8.60 80.17 7.15 63.0 247.6 56.8 12.9 41.0 其中:股份制企业 6.79 83.54 8.50 86.7 156.9 57.0 18.1 49.8    外商及港澳台商投资企业 8.37 83.16 8.34 100.4 166.0 53.5 17.8 63.7 其中:私营企业 5.44 86.09 8.38 124.8 129.8 58.2 19.0 49.3  表3  2021年1—5月份规模以上工业企业主要财务指标(分行业)  行 业 营业收入 营业成本 利润总额 1-5月 同比增长 1-5月 同比增长 1-5月 同比增长 (亿元) (%) (亿元) (%) (亿元) (%) 总计 481530.0 30.5 401976.0 28.6 34247.4 83.4  煤炭开采和洗选业 9785.7 28.8 6462.8 18.1 1614.4 109.4  石油和天然气开采业 3411.2 25.8 2102.8 6.3 767.5 273.1  黑色金属矿采选业 2181.3 56.8 1602.4 43.3 295.9 201.6  有色金属矿采选业 1130.9 24.5 776.7 16.3 194.2 94.4  非金属矿采选业 1477.7 21.8 1105.9 20.9 138.7 28.7  开采专业及辅助性活动 668.4 -5.9 640.1 -7.2 -2.3 (注1)  其他采矿业 5.7 39.0 4.8 50.0 0.3 50.0  农副食品加工业 20922.1 19.5 19078.0 20.1 729.8 11.0  食品制造业 8188.7 14.0 6417.3 15.2 648.9 16.3  酒、饮料和精制茶制造业 6637.2 21.7 4321.5 18.6 1138.7 38.6  烟草制品业 6025.5 8.9 1715.0 4.2 882.2 15.6  纺织业 9443.8 19.8 8391.5 20.6 355.0 4.7  纺织服装、服饰业 5250.6 13.3 4486.9 12.9 234.6 27.9  皮革、毛皮、羽毛及其制品和制鞋业 4029.7 13.5 3488.6 13.1 196.6 18.1  木材加工和木、竹、藤、棕、草制品业 3564.5 23.1 3218.7 23.3 128.1 17.5  家具制造业 2931.5 31.9 2456.7 32.0 135.7 44.7  造纸和纸制品业 5866.2 27.3 4960.3 25.5 414.4 84.2  印刷和记录媒介复制业 2701.1 20.6 2279.8 20.9 142.2 18.2  文教、工美、体育和娱乐用品制造业 5303.6 29.1 4618.9 29.6 230.7 26.8  石油、煤炭及其他燃料加工业 21071.6 29.9 16957.3 18.9 1486.6 (注2)  化学原料和化学制品制造业 31352.4 36.2 25495.2 29.7 3200.1 211.4  医药制造业 11162.3 27.6 6013.7 18.0 2244.8 81.7  化学纤维制造业 3857.7 34.3 3392.8 27.6 275.9 743.7  橡胶和塑料制品业 11141.8 29.0 9346.9 28.3 700.1 46.5  非金属矿物制品业 24048.3 26.7 19942.5 26.5 1883.4 30.3  黑色金属冶炼和压延加工业 38627.5 52.3 34948.2 47.0 2282.3 377.1  有色金属冶炼和压延加工业 26236.0 40.0 24093.4 35.5 1152.0 386.7  金属制品业 17084.7 38.2 15032.6 37.9 751.1 63.6  通用设备制造业 17719.8 32.3 14572.7 32.1 1229.2 45.5  专用设备制造业 14625.1 30.0 11472.5 29.5 1304.3 38.4  汽车制造业 35852.8 38.3 30577.7 38.2 2474.5 81.1  铁路、船舶、航空航天和其他运输设备制造业 4487.3 24.9 3838.6 25.5 194.9 15.3  电气机械和器材制造业 30182.2 40.8 25768.3 41.4 1580.8 49.8  计算机、通信和其他电子设备制造业 51117.7 25.8 44292.4 24.2 2544.8 49.3  仪器仪表制造业 3141.1 29.0 2363.9 27.8 297.9 34.3  其他制造业 766.5 27.4 647.2 27.7 39.2 24.8  废弃资源综合利用业 3082.7 78.6 2898.8 80.2 109.5 80.4  金属制品、机械和设备修理业 499.9 4.0 423.3 0.0 18.4 70.4  电力、热力生产和供应业 29931.5 18.1 26746.3 18.7 1722.6 24.7  燃气生产和供应业 4578.3 25.1 3975.1 24.8 365.6 41.8  水的生产和供应业 1437.5 22.2 1048.2 19.9 143.8 60.3 注: 1.开采专业及辅助性活动上年同期亏损5.5亿元。 2.石油、煤炭及其他燃料加工业上年同期亏损355.3亿元。 3.本表部分指标存在总计不等于分项之和情况,是数据四舍五入所致,未作机械调整。      附注:   一、指标解释及相关说明   1、利润总额:指企业在生产经营过程中各种收入扣除各种耗费后的盈余,反映企业在报告期内实现的盈亏总额。   2、营业收入:指企业从事销售商品、提供劳务和让渡资产使用权等生产经营活动形成的经济利益流入。包括主营业务收入和其他业务收入。   3、营业成本:指企业从事销售商品、提供劳务和让渡资产使用权等生产经营活动发生的实际成本。包括主营业务成本和其他业务成本。营业成本应当与营业收入进行配比。   4、资产总计:指企业过去的交易或者事项形成的、由企业拥有或者控制的、预期会给企业带来经济利益的资源。   5、负债合计:指企业过去的交易或者事项形成的、预期会导致经济利益流出企业的现时义务。   6、所有者权益合计:指企业资产扣除负债后由所有者享有的剩余权益。   7、应收账款:指资产负债表日以摊余成本计量的,企业因销售商品、提供服务等经营活动应收取的款项。   8、产成品存货:指企业报告期末已经加工生产并完成全部生产过程、可以对外销售的制成产品。   9、营业收入利润率=利润总额÷营业收入×100%,单位:%。   10、每百元营业收入中的成本=营业成本÷营业收入×100,单位:元。   11、每百元营业收入中的费用=(销售费用+管理费用+研发费用+财务费用)÷营业收入×100,单位:元。   12、每百元资产实现的营业收入=营业收入÷平均资产÷累计月数×12×100,单位:元。   13、人均营业收入=营业收入÷平均用工人数÷累计月数×12,单位:万元/人。   14、资产负债率=负债合计÷资产总计×100%,单位:%。   15、产成品存货周转天数=360×平均产成品存货÷营业成本×累计月数÷12,单位:天。   16、应收账款平均回收期=360×平均应收账款÷营业收入×累计月数÷12,单位:天。   17、两年平均增速是指以2019年相应同期数为基数,采用几何平均的方法计算的增速。   18、在各表的利润总额同比增长栏中,标“注”的表示上年同期利润总额为负数,即亏损;数值为正数的表明利润同比增长;数值在0至-100%之间(不含0)的表明利润同比下降;下降幅度超过100%的表明由上年同期盈利转为本期亏损;数值为0的表明利润同比持平。   二、规模以上工业企业利润总额、营业收入等指标的增速均按可比口径计算。报告期数据与上年所公布的同指标数据之间有不可比因素,不能直接相比计算增速。其主要原因是:(一)根据统计制度,每年定期对规模以上工业企业调查范围进行调整。每年有部分企业达到规模标准纳入调查范围,也有部分企业因规模变小而退出调查范围,还有新建投产企业、破产、注(吊)销企业等变化。(二)加强统计执法,对统计执法检查中发现的不符合规模以上工业统计要求的企业进行了清理,对相关基数依规进行了修正。(三)加强数据质量管理,剔除跨地区、跨行业重复统计数据。   三、统计范围   规模以上工业企业,即年主营业务收入为2000万元及以上的工业法人单位。   四、调查方法   规模以上工业企业财务状况报表按月进行全面调查(1月份数据免报)。   五、行业分类标准   执行国民经济行业分类标准(GB/T4754-2017),具体请参见http://www.stats.gov.cn/tjsj/tjbz/hyflbz/。 

随机获取列表中的一个IP地址进行代理

随机获取列表中的一个IP地址进行代理
如果是json文件,需要读取文件,导入json模块进行转换后再进行处理。
with open(‘ip.json’,’r’) as w:
  json.loads(f.read())
# 随机获取一个ip进行代理
from urllib import request
# 导入随机模块
import random
# 获取所有代理
def getProxy():
        data = [
            {“host”: “116.31.75.100”, “port”: “3128”},
            {“host”: “218.66.253.146”, “port”: “8800”},
            {“host”: “218.66.253.144”, “port”: “8800”}
        ]
        proxies = []
        for p in data:
            proxy = {
                ‘http’: ‘http://’ + p[‘host’] + ‘:’ + p[‘port’],
                ‘https’: ‘http://’ + p[‘host’] + ‘:’ + p[‘port’]
            }
            # 将proxy 追加到proxies列表中
            proxies.append(proxy)
        # 返回proxies
        return proxies
# 获取一个opener
def getOpener(proxies):
    proxy = random.choice(proxies)
    proxy_handler = request.ProxyHandler(proxy)
    opener = request.build_opener(proxy_handler)
    return opener
# 制作下载器
def downloader(opener, req, proxies, timeout=5, retry=2):
    ”’
    :param opener: 发请求
    :param req: 请求对象
    :param proxies:  代理列表
    :param timeout:  超时
    :param retry: 重试
    :return:
    ”’
    try:
        response = opener.open(req,timeout=timeout)
        return response.read()
    except Exception as e:
        print(e)
        if retry > 0:
            opener = getOpener(proxies)  # 换了一个代理
            return downloader(opener,req,proxies,retry=retry-1)
if __name__ == ‘__main__’:
    proxies = getProxy()
    opener = getOpener(proxies)
    # 查看ip是否切换成功
    base_url = ‘http://www.baidu.com/s?wd=ip’
    res = downloader(opener,base_url,proxies)
    print(res.decode(‘utf-8’))

Linux Ubuntu系统升级Python3版本至Python3.9版本步骤

Linux Ubuntu系统升级Python3版本至Python3.9版本步骤
写了一个Python脚本,但是不能一直在windows上运行,虽然不怕占内存,但是影响我电脑正常开关机,刚好有几台服务器,装的是linux系统Ubuntu,所以就把Python文件放在了服务器,安装对应模块后发现python3.5.2已经不行了,对应的包也不能正常使用,所以就升级Python3版本,网上也有很多把Python2升级的,升级谁都无所谓,主要是能正常使用。下面结合我自己的升级方式给大家说一下步骤,因为看很多人要不是用wget,要不就是PPA,但是后边的步骤有点多。我就精简了一下,虽然我自己成功了,但是可能大家在用同样方法升级时依然有各种问题,可以留言或者自行百度。
# 我也使用的wget ,我下载到了home中
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
# 在home中解压
tar -zxf Python-3.9.0.tgz
# 进入python3.9
cd Python-3.9.0
# 编译文件  时间大概有1-3分钟
./configure –prefix=/usr/local/python3
# 编译好后,会有另外一个提示,让run ./configure xxx,忘了复制了
./configure xxxx
# 安装
make && make install
# 结束
 安装结束,提示PIP安装成功的提示,不过pip不是*新版本,自己升级就行。
 直接输入python3就进入到了python3的环境中,也可以查看下python3 -V 的版本,得出已经是*新版本了。
这个方法要比其他人的简单,不用来回链接进行指向。
 我要去愉快的运行我的脚本去咯。

pyinstaller 提示FileNotFoundError: [WinError 2] 系统找不到指定的文件

pyinstaller 提示FileNotFoundError: [WinError 2] 系统找不到指定的文件
上次使用pyinstaller就碰到 ucrtbase.dll 的问题,当时可能是因为权限或者杀毒软件的问题,把360退出然后在通过pyinstaller打包一次就解决问题,但是隔了一段时间后再次使用pyinstaller打包,又碰到了  ucrtbase.dll 的问题,这次提示的不少权限问题,而是 :  FileNotFoundError: [WinError 2] 系统找不到指定的文件。: ‘C:\\Users\\AppData\\Roaming\\pyinstaller\\bincache00_py39_64bit\\ucrtbase.dll’
那根据提示,已知是找不到指定文件,然后去提示的这个C盘目录下去找 ucrtbase.dll 文件,发现相关目录是真的没有这个文件,然后通过搜索去解决问题,回答和解决方法都是花里胡哨,然后就想着去下载一个ucrtbase.dll 文件,终于在dll上找到了。https://cn.dll-files.com/ucrtbase.dll.html 需要哪个版本就下载哪个版本,下载后就把这个压缩包解压,然后把dll文件放进提示缺失的文件夹即可。
再次运行pyinstaller即可完美运行,一个狗屁pyinstaller状况白出….