昨天学了一天的Python(我的生产语言是java,也可以写一些shell脚本,算有一点点基础),今天有一个应用场景,就正好练手了。
这个功能之前再java里写过,比较粗糙,原来是在我本机跑的,今天老大要求要随时保持请求,就用Python改写了下,省的又把一个有跟多杂项的jar包传到服务器,省空间又不乱,而且好读。
先附上java代码:
package xxxxxx.base;
import java.util.Random;
import org.apache.commons.lang3.StringUtils;
import haojianxiang.util.HttpRequest;
public class CreateFeedbackData {
public static void main(String[] args) {
while (true) {
try {
Random r = new Random();
int sleep = r.nextInt(1200000) + 600000;
Thread.sleep(sleep);
post();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void post(){
String url = "http://111.111.111.111:8080/xxxx/post";
int[] types = {1, 2, 3, 4};
int index = (int) (Math.random() * types.length);
int type = types[index];
// String[] contents = {"-中文测试-,","-English Test-,","~!@#$%^&*()_;:'-\"<>"," "};
String[] contents = {"-中文测试-,","-English Test-,","~!@#$%,"," "};
StringBuffer content = new StringBuffer();
content.append("haojianxiang test:");
for (int i = 0; i < 10; i++) {
int idx = (int) (Math.random() * contents.length);
content.append(contents[idx]);
}
String[] imgs = {"/Upload/appUpload/58c7b315cb39f.jpg",
"/Upload/appUploa/58cb467a69873.jpg",
"/Upload/appUpload/58afff0e99432.png",
"/Upload/appUpload/58b545539eb80.jpg",
"/Upload/appUpload/58b55d7c9e281.JPG",
};
StringBuffer img = new StringBuffer();
for (int i = 0; i < (int) (Math.random() * 4); i++) {
int lucky = (int) (Math.random() * 2);
if (lucky == 1) {
int idx = (int) (Math.random() * imgs.length);
img.append(imgs[idx]);
img.append(",");
}
}
String imgStr = "";
if (StringUtils.isNotBlank(img)) {
imgStr = img.substring(0, img.length()-1);
}
String param = "{\"req\":{\"userId\":xxxxxx}," +
"\"data\":{"\"fbType\":" + type + ",\"fbContent\":\""+content.toString()+
"\",\"fbPic\":\""+imgStr+"\"}}";
String rst = HttpRequest.sendPost(url, param);
System.out.println("TIME--"+ System.currentTimeMillis() + " result:" + rst);
}
}
(代码里的参数地址等我已做了隐藏,json格式可能不准确了,无所谓)
接下来上Python代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
import urllib
import urllib.request
import time
def postFeedBack():
url = "http://111.111.111.111:8080/xxxx/post"
type = int(random.uniform(1,5))
contents = ["-中文测试-,","-English Test-,","~!@#$%,"," "]
content = "haojianxiang test:"
for i in range(0,10):
content += random.choice(contents)
img = ""
imgs = ["/Upload/58c7b315cb39f.jpg",
"/Upload/58cb467a69873.jpg",
"/Upload/58afff0e99432.png",
"/Upload/58b545539eb80.jpg",
"/Upload/58b55d7c9e281.JPG"]
for i in range(0,3):
lucky = int(random.uniform(0,2))
if lucky == 1:
img += random.choice(imgs)
img += ","
img = img[:-1]
data = "{\"req\":{\"userId\": xxx},"
data += "\"data\":{
data += "\"fbType\":"
data += str(type)
data += ",\"fbContent\":\""
data += content
data += "\",\"fbPic\":\""
data += img
data += "\"}}"
pdata = bytes(data,encoding="utf-8")
f = urllib.request.urlopen(url,pdata)
result = f.read()
result = result.decode('UTF-8')
print(result)
if __name__ == "__main__":
while True:
st = int(random.uniform(600,1800))
print("sleep:",st)
time.sleep(st)
postFeedBack()
Python的写法确实很简洁高效(java代码里post的逻辑,我还是调用了自己的一个工具类,实际代码要更多),今后打算把Python作为优先脚本语言,处理简单问题很快。
Python,批量post请求
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。