如何添加许多密码已知的用户
How can I add many users with known passwords
我正在气隙试验台上设置一个火箭聊天服务器,我将让成千上万的自动用户相互交谈以产生网络流量。我已经看到用户通过 CSV 文件导入 here。这让我可以创建我的用户,但不能使用预先分配的密码。查看 programs/server/packages/rocketchat_importer-csv.js
我看到它正在将密码设置为包含当前日期的公式字符串。
这与满足我需要的随机密码一样好。
有没有办法在 CSV 中包含另一列,我可以在其中为每个用户分配密码?
我是通过 snap 安装在 Ubuntu 16.04.4 上的,如果有什么影响的话。
最后,我编写了一个 python 脚本来完成为 CSV 的每一行发出网络请求的工作。这是我想出的:
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)
我正在气隙试验台上设置一个火箭聊天服务器,我将让成千上万的自动用户相互交谈以产生网络流量。我已经看到用户通过 CSV 文件导入 here。这让我可以创建我的用户,但不能使用预先分配的密码。查看 programs/server/packages/rocketchat_importer-csv.js
我看到它正在将密码设置为包含当前日期的公式字符串。
这与满足我需要的随机密码一样好。
有没有办法在 CSV 中包含另一列,我可以在其中为每个用户分配密码?
我是通过 snap 安装在 Ubuntu 16.04.4 上的,如果有什么影响的话。
最后,我编写了一个 python 脚本来完成为 CSV 的每一行发出网络请求的工作。这是我想出的:
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)