lua代码分享003,批量请求。

10 寒雪落花静云月 19小时前 218次点击

上代码之前先说一下。那些不想看就别看。说现在大部分盲人游戏和盲人的软件都是lua编写,你说技术过时,有本事你不玩这些lua编写的游戏或软件。不管啥技术,只要有一个人用就没有完全过时。并且大部分游戏的逻辑都是用这个脚本语言写的。少了lua,很多游戏的灵魂也没了。就连最近玩的荣耀战场都是用lua编写的。幻想编辑器也是。心智互动的东西,基本上全用的lua加一点点java。生存之路也是lua。侠行天下,魔幻庄园,鬼影迷踪,全都是lua+Cocos2d。

唯一不可能是的,就只有命运竞技场,c++写的。点名的没有拆过安装包。不知道长啥样。然后盛石王座是用java。优迪科技不知道用的是啥,反正的是unit3d。问道争锋,js+Cocos2d。

代码如下,这里只做分享,请勿拿去做不好的事情。

require "import"

import "android.app.*"

import "android.os.*"

import "android.widget.*"

import "android.view.*"

function 获取输入对话框(输入要求,输入框显示,确认按钮文本,取消按钮文本,输入类型,字数限制,回调函数,取消事件)

require "import"

import "android.widget.*"

import "android.text.InputFilter"

import "android.app.AlertDialog"

import "android.os.Handler"

import "android.os.Looper"

import "android.widget.Toast"

输入类型 = 输入类型 or "文本"

字数限制 = 字数限制 or 0

local 对话框

local ids = {}

local 布局 = loadlayout(

{

LinearLayout;

orientation = "vertical";

layout_width = "fill";

layout_height = "wrap";

padding = "15dp";

{

EditText;

layout_width = "fill";

layout_height = "48dp";

id = "输入框";

hint = 输入框显示;

textSize = "16sp";

inputType = 输入类型 == "数字" and 2 or

输入类型 == "密码" and 129 or 1;

singleLine = true;

};

{

LinearLayout;

orientation = "horizontal";

layout_width = "fill";

layout_height = "48dp";

layout_marginTop = "10dp";

{

Button;

layout_width = "0dp";

layout_height = "match_parent";

text = 取消按钮文本;

textSize = "16sp";

id = "取消按钮";

layout_weight = "1";

background = "#E0E0E0";

};

{

Button;

layout_width = "0dp";

layout_height = "match_parent";

text = 确认按钮文本;

textSize = "16sp";

id = "确认按钮";

layout_weight = "1";

background = "#4CAF50";

textColor = "#FFFFFF";

};

};

},ids)

local 输入框 = ids.输入框

local 确认按钮 = ids.确认按钮

local 取消按钮 = ids.取消按钮

确认按钮.onClick = function()

local 内容 = 输入框.getText().toString()

if 内容 == "" then

Toast.makeText(activity, "请输入内容", Toast.LENGTH_SHORT).show()

return

end

if 输入类型 == "数字" then

local 数字内容 = tonumber(内容)

if not 数字内容 then

Toast.makeText(activity, "请输入有效数字", Toast.LENGTH_SHORT).show()

return

end

内容 = 数字内容

end

对话框.dismiss()

回调函数(内容)

end

取消按钮.onClick = function()

if 取消事件 then

取消事件()

end

对话框.dismiss()

end

local handler = Handler(Looper.getMainLooper())

handler.post(function()

对话框 = AlertDialog.Builder(activity)

.setTitle(输入要求)

.setView(布局)

.setCancelable(false)

.create()

if 字数限制 > 0 then

输入框.setFilters{InputFilter.LengthFilter(字数限制)}

end

对话框.show()

输入框.requestFocus()

对话框.getWindow().setSoftInputMode(2)

end)

end

获取输入对话框("请输入单次请求最小用时(毫秒)","编辑框","下一步","取消","数字",16,function(最小用时结果)

if 最小用时结果 then

最小用时=最小用时结果

获取输入对话框("请输入单次请求最大用时(毫秒)","编辑框","下一步","取消","数字",16,function(最大用时结果)

if 最大用时结果 then

最大用时=最大用时结果

获取输入对话框("请输入请求链接","编辑框","下一步","取消","字符串",1000,function(请求链接结果)

if 请求链接结果 then

请求链接=请求链接结果

获取输入对话框("请输入请求次数","编辑框","开始","取消","数字",16,function(请求次数结果)

if 请求次数结果 then

请求次数=请求次数结果

print("请求开始")

i = 0

批量请求 = Ticker()

批量请求.Period = math.random(最小用时,最大用时)

批量请求.onTick = function()

时间 = math.random(最小用时,最大用时)

批量请求.Period = 时间

i = i + 1

local 链接 = 请求链接

Http.get(链接, nil, nil, nil, function(代码, 内容)

print("第"..i.."次请求,代码"..代码..",用时"..时间.."毫秒,结果"..内容)

end)

if i == 请求次数 then

批量请求.stop()

批量请求=nil

end

end

批量请求.start()

else

os.exit()

end

end,

function()

os.exit()

end)

else

os.exit()

end

end,

function()

os.exit()

end)

else

os.exit()

end

end,

function()

os.exit()

end)

else

os.exit()

end

end,

function()

os.exit()

end)

如果你想用它刷一刷话题的浏览次数也行。就是至于会不会被骂,那不是我的事儿。

为什么会有最小随机和最大随机用时这两个东西?因为有些网站在横地的每一次请求用时情况下,以为你在攻击他。所以时间越不均衡,越向真人请求。然后网站也会更容易响应。

共 10 条评论
五阶强者 19小时前
0 
这是你自己写的吗,写的不错
寒雪落花静云月 [楼主] 19小时前
0 
这个是完全自己写的。因为这个很简单。
四海游侠 18小时前
0 
看不懂,你这个是一条,代码,还是,多条,代码,呀
画雨文印射 18小时前
0 
能给心智增加业绩吗,我想去他外网上面搞点事情
四海游侠 18小时前
0 
想学一点,脚本编写可惜找不到学习资料
lua很主流,很多大型项目都有他参与
nginx的很多派生项目好像都是有lua参与的
长啸九天 18小时前
0 
前面。的叙述,我感觉编程语言圈子的争端都来了
壮丽星海 17小时前
0 

这好像有点类似于之前别人发过的那个批量刷新网页的代码。

不过我拿去运行了一下,发现还是你这个更好。

毕竟我要换链接的话,不需要自己去代码里面改。而且你这个还可以手动设置间隔时间在范围内随机波动。

壮丽星海 16小时前
0 
好玩。 欢迎楼主以后多分享代码。
添加一条新评论

登录后可以发表评论 去登录