杰者的备忘录

一个微信小程序获取二维码接口ASP的小小坑

好吧,这个小坑确实坑了我大半个小时。这严格来算不属于微信官方的问题,算我自己习惯性的问题。记录一下,不知道往后有没有其他ASPER犯了跟我一样的错误呢。


情况大概是这样的,我需要获取微信小程序的小程序码,微信官方提供接口了。于是我照着文档去请求。基本上大多写ASP的请求函数是类似这样的

Function PostHttpPage(HttpUrl,PostData)
	Dim Http
	Set Http=server.createobject("WinHttp.WinHttpRequest.5.1")'Msxml2.ServerXMLHTTP
	Http.open "POST",HttpUrl,False
	Http.setRequestHeader "Content-Length",Len(PostData)
	Http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
	Http.Send PostData
	PostHttpPage=bytesToBSTR(Http.responseBody,"utf-8")
	Set Http=Nothing
End Function

Function BytesToBstr(Body,Cset)
	Dim Objstream
	Set Objstream = Server.CreateObject("adodb.stream")
	objstream.Type = 1
	objstream.Mode =3
	objstream.Open
	objstream.Write body
	objstream.Position = 0
	objstream.Type = 2
	objstream.Charset = Cset
	BytesToBstr = objstream.ReadText
	objstream.Close
	set objstream = nothing
End Function

请求其他接口倒是一直没问题,来到请求二维码这一块,返回了一堆乱码,一看就知道是二进制的文件流。

...

关于wput的一个大坑

最近在折腾wput,wput是一个类似于wget的命令行工具,由于没就找到更合适的FTP命令行客户端(WINDOWS自带那个不支持断点续传,不考虑),于是就只有wput了。

但是测试的时候在windows下发现一个大坑,

因为我是在测试,所以测试目录里是随便建了一个文件用于测试的,一直提示Failed to change to target directory. Skipping this file/dir.

最开始我一直以为是我的FTP服务器哪里没设置好,折腾了好长时间才发现居然的wput的BUG,当目录里有两个文件的时候,第一个被跳过,第二个却可以上传成功。

...

Kimsufi申请免税的详细过程

 

之前一直知道Kimsufi可以申请免税来着,但是懒得折腾就一直没去搞,这个月开始原来手上的KS3C涨价了,所以突然想起来免税这事了,由于机器是长期使用的,能省点就省点吧。百度了一圈是有不少说免税的文章,但是都说得不是很清楚,缺了一些步骤,云里雾里,于是自己摸索尝试了一下,免税成功了。


下面是我进行的步骤:(博客模板的问题,图片被缩小了,完全看不清,谷歌内核的浏览器可以拖拽图片放开可以看大图)


1、首先登录你的Kimsufi账号,点击右上角的[My account]确认你的姓名跟地址是正确的。

...

ASP使用Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。

 

一直想在ASP上使用Redis来着,可是网上找了一圈什么语言都有就是没有ASP版的,那就只能自己折腾了。

因为ASP是可以调用COM组件的,那最简单可行的方式就是下载VB的代码修改成COM组件。

来到官网https://redis.io/ 看了一圈,发现官网提供的VB客户端源码是VB.NET的。边下载边研究VB.NET怎么做COM组件的。

...

搭建frp反代国内服务器实现免备案节点的详细步骤

最近境外的服务器真是越来越不稳定了,无论搬瓦工、还是阿里云香港还是各种CN2各种中国直连各种亚洲优化线路,都是想抽风就抽风的状态。于是计划逐步把大部分网站服务器迁回国内。回到国内就不得不面对一个问题,那就是备案。有条件备案的自然问题不大,可是还是有一堆网站各种各样的原因没法备案啊。于是我计划把所有网站的后端服务器全部放腾讯云广州,只留一台阿里云香港在外面作为免备案的反代节点。由于腾讯云对所有端口都有备案检测,所以以往把网站后端服务器改成非80端口,前端服务器直接进行反代的做法行不通。只能先把两台服务器组成一个虚拟内网再反代了(这样两台服务器之间通讯的数据就是加密的,腾讯云就没法拦截了)。在看了ngrok、frp、n2n三种方式以后,选了最简单而且目前还有在更新的frp。

...

微信小程序配置域名的时候提示“校验文件验证失败”

在微信小程序后台配置web-view的业务域名跟扫普通链接二维码打开小程序两项功能时,

一直提示“校验文件验证失败,请下载校验文件,上传到服务器指定的目录”

实际访问校验文件的路径是存在的。找了官方社区也没有找到答案。最后自己还是折腾出来了。

因为我的站点有开启http访问自动跳转到https,于是http访问的时候得到状态码是301而不是200。

明明微信小程序后台配置域名的页面显示的是https,但是微信的服务器访问的居然是http的。。。

...

阿里云短信的ASP版

说起阿里的短信接口真是坑爹,最开始叫阿里大鱼,后面改名成阿里大于,然后又并入阿里云平台,然后在云市场那里也有一个,然后又更新了几次,目前最新的情况是阿里云短信(https://dysms.console.aliyun.com/dysms.htm#/account),改来改去接口也是变了好几次,文档还写得不清楚,坑爹中的坑爹。


每次做新项目需要用到短信的,申请新账号就发现老的代码用不了了,又得重新撸。以前阿里大鱼那些接口还简单,最新版的阿里云短信,文档莫名其妙坑了我一整个晚上,终于OK了。下面分享折腾成果(测试过了 IIS下运行是肯定正常的),代码还没有整理,比较乱,需要用到的兄弟凑合着自己改吧。

...

小程序微信支付的一些要注意的坑

接到一个朋友的电话,说他小程序的微信支付折腾了一个多星期,一直签名错误。由于当时我自己折腾的时候一直很顺利,所以也没当回事。帮他分析了一下,基本就是他没看懂微信的文档导致签名的算法没写对导致的。确实微信官方的文档写作水平很一般。


现在放一些具体的例子在下面给进来的人参考。


首先统一下单里,签名部分因为微信官方文档没有给一个完整的例子,我朋友就掉坑里了。下面提供一个完整的例子(都是必填的参数,排好序的)也就是官方文档里的stringA,注意这里的appid是小程序的appid不是公众号的appid,不要搞错

...

ASP的参数名按ASCII码从小到大排序(字典序)函数

各种各样的API接口签名都是要求对参数名先进行排序的,其他语言还好,自带了排序功能,ASP没有自带排序函数,只能自己定义。

这个函数并不是我写的,而是很多年前从支付宝的DEMO里面挖到的。


参数传数组进去,然后返回值是已经按ASCII码从小到大(也就是ABCDEFG...这样的)排序好的数组。


Function SortPara(sPara)

 Dim nCount

 nCount = ubound(sPara)

 For i = nCount To 0 Step -1

  minmax = sPara( 0 )

     minmaxSlot = 0

     For j = 1 To i

            mark = (sPara( j ) > minmax)

         If mark Then 

             minmax = sPara( j )

             minmaxSlot = j

         End If

     Next

  If minmaxSlot <> i Then 

   temp = sPara( minmaxSlot )

   sPara( minmaxSlot ) = sPara( i )

   sPara( i ) = temp

  End If

 Next

 SortPara = sPara

end Function

 

...

破解火车头发布模块密码的思路以及读取器

下了某源码网站的源码带有一个火车头采集器7.6,想修改一些东西,但是发现发布模块被加密了,NND百度了一下,只有一个网站提供火车头发布模块的破解服务,收费30大洋一个。太贵。于是自己研究,不是很难,下面是思路(博客模板的问题,图片被缩小了,完全看不清,谷歌内核的浏览器可以拖拽图片放开可以看大图。)原本以为wpm文件就是一个文本文件,拉到文本编辑器,发现是二进制文件,注意到下面有个module.xml,貌似是压缩包的样子,把wpm改成zip,果然是压缩包,module.xml就静静的躺在那里。再用...