- 博客(24)
- 资源 (7)
- 收藏
- 关注
原创 selenium登录163邮箱,得到cookie,requests后续请求
1.场景很多时候登录操作是比较复杂的,因为存在各种反爆破操作,以及为了安全性提交数据都会存在加密。如果要完全模拟代码去实现登录操作是比较复杂,并且该网站后续更新了登录安全相关功能,那么登录的模拟操作又得修改。但是通过selenium模拟人为登录得操作是永远不会过时。因此一个好得方案就是通过selenium模拟登录,然后拿到可用得Cookie通过requests进行后续得模拟请求。2.实现代码import time, requestsfrom selenium import webdriverfro
2020-08-09 23:49:35 798
原创 不用加减乘除做加法,求2个数的平均数
1.不用加减乘除做加法1.分析二进制加法规律:carry = A&Bsum = A^Boutput = carry<<1 + sum = (A&B)<<1 + (A^B)2.上面仍然用了加法,因此还要继续拆分加法,直到carry=0及没有进位结束╔═══════╤═════════════╗║ Input │ Output ║╠═══╤═══╪═══════╤═════╣║ A │ B │ carry │ sum ║╟───┼──
2020-05-17 15:25:08 541
原创 一个数加100是完全平方数,再加168又是一个完全平方数
1.说明暴力法都知道,但是如果起始没弄好会忽略-99这个数更优的解法需要好的思路package mainimport ( "fmt" "math")func main() { /** * 常规解法,暴力找到合适的数 * 因为a>=0 且 b>=0,因此i从-100开始 **/ for i := -100;...
2020-05-03 18:16:06 1133
原创 根据层次遍历序列画出二叉树
1.画出如下svg矢量图 G11201->2321->3442->4502->5864->8974->91438->141015->1064...
2020-05-01 15:07:27 1511
原创 二叉树相关处理,包含递归和非递归方法
1.简介熟悉二叉树的各种特性,包括前序、中序、后序遍历,以及还原二叉树等等主要搜集了递归和非递归方案,可以对比研究下学习这个也是为了再leetcode上刷题下面程序运行结果<*>{1 <*>{2 <*>{0 <*>{3 <*>{4 <*>{0 <*>{5 }}}}}}}node = 1 ...
2020-04-26 21:21:20 141
原创 后台提供邮件发送验证码服务
需求我的博客需要增加登录验证码,想通过邮件发送验证码希望提供一个http服务,其他服务和编程语言不必再写一个发邮件的方法实现package mainimport ( "encoding/base64" "errors" "net" "net/http" "strconv" "time")func main() { http.HandleFunc("/Captch...
2020-04-13 20:38:39 769
原创 自定义chrome新标签页
【跳转GitHub】chromeNewTab自定义chrome新标签页。由于不想发布到chrome应用商店,因此搜了一下不用开发者模式就能用的方法。使用说明下载chrome的一个【window组策略文件】,解压文件后找到(\policy_templates.zip\windows\adm\zh-CN\chrome.adm)在window执行win+R,执行gpedit.msc,按照下图...
2020-04-12 21:28:32 3287
原创 双击打开避免一闪而逝,命令行自动忽略
废话不多说直接上代码,很多人在写程序时双击打开都会一闪而逝,因此都会在程序执行最后加上获取输入的代码。但是命令行时又不想再敲一次回车。下面代码就能解决你的烦恼,原理就是判断父进程是否为cmd.exe,如果不是则说明不是命令行打开,则加上获取输入回车。package mainimport ( "fmt" "syscall" "unsafe")func main() { if na...
2020-01-16 21:05:32 351
原创 win32获取进程树,以及命令行参数
1.先上代码package mainimport ( "bytes" "errors" "flag" "fmt" "io" "os" "sort" "syscall" "unsafe")func main() { out := flag.String("o", "-", "write result to file, - eq stdout") flag.Parse...
2020-01-16 20:08:44 689
原创 golang的http库使用代理
1.先上代码package mainimport ( "crypto/tls" "flag" "fmt" "io/ioutil" "net/http" "net/url")func main() { u := flag.String("u", "http://www.baidu.com", "get url") p := flag.String("p", "http:/...
2020-01-15 11:43:54 1414
原创 实现base64的编码解码,深刻理解base64
上代码#include<stdio.h>#include<string.h>#include<stdlib.h>const char padding = '=';const char base64e[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";co...
2020-01-10 18:27:28 164
原创 shell携带附件,Linux下的自解压文件诞生了
初衷windows下有自解压文件,直接双击就能释放文件,并且还能执行释放文件前后要执行的脚本。Linux下我也想要这样的功能,因为我希望直接拷贝一个shell脚本给别人,别人直接运行就能用,而不是一个压缩文件,需要别人解压。实现#!/bin/bash# write headercat > attachment.sh <<EOF#!/bin/bashbase64 -...
2020-01-09 22:06:54 155
原创 换掉7z-zip默认的ico图标,自定义压缩文件图标更美观。
下图就是7z官网源代码里面的ico文件,如果有条件自己编译,可以直接替换下面的图标,然后编译一个你自己的7z工具就行。不过我比较懒,还是通过修改注册表的方式改成别的ico图标吧。源码和可执行程序下载使用方法.\ico7Zip.exe -hUsage of .\ico7Zip.exe:-d use default ico-i stringchange 7-Zip ico dir...
2019-12-30 19:15:52 12353
原创 ssh登录二次验证,让服务器更安全。
码云地址sshdTwoVerification介绍ssh登录二次验证问题:现在很多人的Linux服务器可能会被攻击,只校验一次后台用户名密码登录变得不再保险。当然大家首先要做的是修改ssh服务端口,不要用默认22,这样会增加攻击难度,但还是不保险。方案1:使用ssh密钥文件登录,好处就是拿不到密钥文件休想登录成功,而且还能对密钥文件再次添加密码,这样的方案确实比较保险。但也有弊端,就...
2019-11-12 09:37:07 1533
原创 使用notepad++的nppexec插件格式化json和压缩json内容
1.遇到问题因为平时需要查看json内容,有时候修改后需要压缩json,虽然已经有网页可以实现,但每次打开网页也很麻烦啊。虽然notpad++也有NPPJSONViewer这个插件,但是目前只有格式化json的功能,没有压缩json的功能。这就比较蛋疼咯。2.解决方案set compact=ctext_saveto D:\tmp.jsoncmd /C "jq -r$(compact) ...
2019-11-01 16:03:31 1231
原创 浏览器主页被篡改最终解决方案
最近浏览器主页被篡改了,网上到处找方法 什么改注册表啊、改快捷方式中多于的链接啊,等等都没用。最终在几个知乎上的专业回答中看到了原因,https://www.zhihu.com/question/21883209 第一个回答就是了,说是explorer.exe被恶意dll修改了打开软件的过程,只要是通过explorer.exe打开浏览器都会中招。 因为双击可执行程序实质上是用explor...
2018-04-24 11:27:51 18205 3
原创 c语言版去除源代码注释
去除代码中注释需要注意下面几点 首先注释有”/*”开始到”*/”结束的多行或单行注释 其次还有”//”这种单行注释 另外还需要注意双引号和单引号内的字符不要算到注释中因此我设计以下程序 当遇到””“双引号和”’“时需要跳过整个字符串,特别注意字符串和字符内部转义字符。 当遇到”/“斜杠时,匹配下一个为星号还是斜杠,如果下一个是斜杠则直接跳到本行结尾。如果是星号则匹配”*/”下面是源代码
2017-12-15 15:59:15 7920 5
原创 暴力破解数独+舞蹈链算法解数独
求解数独的思路 我想通过自己的思路来求解,虽然网上肯定有非常巧妙高效的解法。因此我安装了HoDoKu这个软件,这个软件会分析当前数独每个待填格子可能存在的值,目前我发现Naked Or Hiden Single这2中是最容易找出来的,找出来了该位置就必填那个数。下图是一个例子,表示裸露的单个数字,该位置只有一种可能值。经过仔细研究,我得出了2个原则: 1.当前位置只有一种可能值,则优先填入 2
2017-12-11 18:06:24 4185 2
原创 用算法去扫雷(go语言)
最初的准备 首先得完成数据的录入,及从扫雷的程序读取界面数据成为我的算法可识别的数据 其次是设计扫雷的算法,及如何才能判断格子是雷或者可以点击鼠标左键和中键。 然后将步骤2的到的结果通过我的程序实现鼠标的点击动作 下面是一个成功的gif图片,放在前面容易吸引人啊,哈哈。 首先实现第一步 将扫雷程序界面数据读取并保存为我的代码可识别的数据。我们知道程序界面的各个数字都有不同的颜色,那么我们
2017-11-19 22:07:56 2536 1
原创 简单的Linux下的socket通信,小程序,方便以后查看。
首先是我的一个出错提示的头文件,自从用了根本停不下来啊!!!#ifndef _MYERR_H_#define _MYERR_H_#include #include #include extern int errno;#define MYDBG#ifdef MYDBG#define PRN_ERRMSG_EXIT(errmsg) \ ({ \ fprintf(
2014-12-09 14:19:15 1207
原创 C语言实现<读取>和<写入> *.ini文件。
本文之前由于技术不到位,写的比较挫,最近花了大半天时间写了一个高级点的版本。这里是我写的代码,已经上传到github了。跳转到github主要是使用了链表保存ini文件的内容,在程序运行最初会初始化链表,接下来的查询操作都只是查询内存,比较快,而且此时也不依赖文件了。最大的改变就是自己对编程的熟悉和了解,再也不会写挫逼代码咯。下面是源代码,个人感觉还不错。欢迎大家使用。#incl...
2014-11-13 20:10:48 9424 18
原创 打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),写出来真是泪牛满面啊。
/*打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,... 例子:当N =5,打印出下面的图形: X X X X X X Y Y Y X X Y 0 Y X X Y Y Y X X
2014-10-30 13:20:13 3479
原创 C语言实现表达式求值,支持+、-、*、/四则运算,并且支持多级括号,自定义了栈的操作。
#include #include #define N 50 //定义接收字符串大小typedef struct _node_ { int num_ch; //数字和符号都用int存储 struct _node_ *next;}node;/*** 创建一个链栈** 注意我的栈最后一个元素无意义但必须存在** 因
2014-10-30 12:59:54 5384 4
ico7Zip.7z
2019-12-30
lsrunas_cpau_lsrunase
2019-01-09
minesweeping.zip
2017-11-23
C#控制台发送邮件程序
2016-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人