我在一个空气密封的测试平台中设置一个火箭聊天服务器,我会让成千上万的自动用户互相交谈以产生网络流量。我看到用户通过CSV导入了here。这让我可以创建我的用户,但不能使用预先指定的密码。查看programs/server/packages/rocketchat_importer-csv.js
我看到它将密码设置为包含当前日期的公式字符串。
这与我的需求的随机密码一样好。
有没有办法在CSV中包含另一列我可以为每个用户分配密码?
我在Ubuntu 16.04.4上通过快照安装它,如果这会影响任何东西。
答案 0 :(得分:1)
最后,我编写了一个python脚本来完成对CSV每行的Web请求。这是我想出的:
import csv
import json
import requests
def main(csv_path, admin_user, admin_pass, base_url):
"""
Read the given CSV of the format:
loginname, email, real name, password
and create all the users described in it in the Rocket.Chat server
available at `base_url`
"""
login_json = json.dumps({'username': admin_user, 'password': admin_pass})
response = requests.post(base_url + '/api/v1/login', data=login_json)
data = response.json()['data']
token = data['authToken']
userid = data['userId']
headers = {
'X-Auth-Token': token,
'X-User-Id': userid,
'Content-type': 'application/json',
}
with open(csv_path) as raw:
reader = csv.reader(raw)
for user in reader:
request = {
'username': user[0],
'email': user[1],
'name': user[2],
'password': user[3],
}
ret = requests.post(base_url + '/api/v1/users.create',
data=json.dumps(request), headers=headers)