当前位置: 首页 > news >正文

大型网站开发方案福州网络推广运营

大型网站开发方案,福州网络推广运营,濮阳县网,做微商有什么好的货源网站在芯片设计行业,ETX是常见的远程访问环境。用户在通过ETX访问远程环境前必须首先加入ETX系统,然后通过profile分配相关的环境的访问权限。 通常这些操作在ETX WEB页面手工操作,如果我们期望实现用户帐号注册全自动化,就需要将以上…

在芯片设计行业,ETX是常见的远程访问环境。用户在通过ETX访问远程环境前必须首先加入ETX系统,然后通过profile分配相关的环境的访问权限。

通常这些操作在ETX WEB页面手工操作,如果我们期望实现用户帐号注册全自动化,就需要将以上操作通过脚本来实现。

经过调查发现ETX提供了REST访问接口,因此帐号注册全自动化就可以实现。

主要流程如下:

在调用ETX REST接口前还需要获取ETX API的URL以及访问密钥。登录ETX后,点击右上部用户头像旁边的齿轮图标,在用户设置中选择创建 API keys即可生成ETX API访问密钥。 

 ETX登录界面左上角选择 REST API即可显示所有ETX API,点击还可查看API的详细说明和示例。

通过 Python 自动创建ETX帐号的示例代码如下:

#!/opt/miniconda3/bin/python
################################################################################
#
# Author: Shuguangbo
#
################################################################################import traceback
import logging
import logging.config
import urllib3
import requests
import jsonurllib3.disable_warnings()class userHandler():def __init__(self):self._account = ''self._userID = ''self._etxUserID = ''self.getETXGroup()...def getETXUserID(self):session = NoneuserData = dict()userID = ''account = self._accounttry:apiurl = self._config['ETX']['ETX_URL'] + f'/etx/api/v2/users?where_login={account}'session = requests.Session()header = {'Content-Type': 'application/json', 'Authorization': f"ETX {self._config['ETX']['API_KEY']}"}result = session.get(apiurl, headers=header, verify=False)if result.status_code == 200:logging.info('Get ETX user ID succeeded.')userList = json.loads(result.text)userID = userList[0]['id']self._etxUserID = userIDelse:logging.error('Get ETX user ID failed.')except Exception as e:logging.error(f"Get ETX user ID failed. error: {str(e)}, stack: {traceback.format_exc()}")finally:if session:session.close()return userIDdef getETXGroup(self):groupData = dict()session = Nonetry:apiurl = self._config['ETX']['ETX_URL'] + '/etx/api/v2/usergroups'session = requests.Session()header = {'Content-Type': 'application/json', 'Authorization': f"ETX {self._config['ETX']['API_KEY']}"}result = session.get(apiurl, headers=header, verify=False)if result.status_code == 200:logging.info('Get ETX group info succeeded.')groupList = json.loads(result.text)for group in groupList:groupData[group['name']] = groupelse:logging.error(f'Get ETX group info failed. Error: {result.text}')exit(1)except Exception as e:logging.error(f"GET ETX user group info failed. error: {str(e)}, stack: {traceback.format_exc()}")exit(1)finally:if session:session.close()self._etxGroups = groupDatadef addETXUserIntoGroup(self, userID, groupID):result = Truesession = Nonetry:apiurl = self._config['ETX']['ETX_URL'] + f'/etx/api/v2/usergroups/{groupID}/members/addbyid/{userID}'session = requests.Session()header = {'Content-Type': 'application/json', 'Authorization': f"ETX {self._config['ETX']['API_KEY']}"}result = session.post(apiurl, headers=header, verify=False)if result and result.status_code == 200:logging.info(f'Add user {userID} into ETX group {groupID} succeeded.')else:logging.error(f'Add user {userID} into ETX group {groupID} failed.')result = Falseexcept Exception as e:logging.error(f"Add ETX user into user group failed. error: {str(e)}, stack: {traceback.format_exc()}")result = Falsefinally:if session:session.close()return resultdef registerETXUser(self):EMSG = ''session = Nonetry:account = self._accountname = self._nameemail = self._emailapiurl = self._config['ETX']['ETX_URL'] + '/etx/api/v2/users'session = requests.Session()header = {'Content-Type': 'application/json', 'Authorization': f"ETX {self._config['ETX']['API_KEY']}"}data = {'login': account, 'name': name, 'email': email, 'role':{'name':'User'}}result = session.post(apiurl, headers=header, data=json.dumps(data), verify=False)if result and result.status_code == 200:userData = json.loads(result.text)self._etxUserID = userData['id']logging.info(f'Register ETX user {account} succeeded. User id: {userData["id"]}')else:logging.error(f'Register ETX user {account} failed. Error: {result.text}')EMSG = f"Register ETX user {account} failed."except Exception as e:logging.error(f"Register ETX user {account} failed. Error: {str(e)}")EMSG = f"Register ETX user {account} failed."finally:if session:session.close()return EMSGdef addETXUser(self):EMSG = ''try:user = self._accountret = self._registerETXUser()if len(ret):EMSG += retreturn EMSGuserID = self._etxUserIDif len(userID) == 0:EMSG = "ETX user id is invalid.\n"return EMSGetxgroup = self._config['ETX']['DEFAULT_GROUP']                     groupID = self._etxGroups[etxgroup]['id']ret = self.addETXUserIntoGroup(userID, groupID)if not ret:EMSG += f'Failed to add ETX profile for {user} .\n'             except Exception as e:logging.error(f"Add ETX User profile failed. error: {str(e)}, stack: {traceback.format_exc()}"EMSG += "Add ETX User profile failed.\n"return EMSG


文章转载自:
http://dinnconitrosyl.zfyr.cn
http://dinncoheteromorphous.zfyr.cn
http://dinncobuntline.zfyr.cn
http://dinncoimmixture.zfyr.cn
http://dinncointroit.zfyr.cn
http://dinncofirm.zfyr.cn
http://dinncosmf.zfyr.cn
http://dinncotrimotored.zfyr.cn
http://dinncoplexor.zfyr.cn
http://dinncoequilibrate.zfyr.cn
http://dinncodemonstrate.zfyr.cn
http://dinncosalep.zfyr.cn
http://dinncoallomerism.zfyr.cn
http://dinnconorthmost.zfyr.cn
http://dinncosharpie.zfyr.cn
http://dinncocrying.zfyr.cn
http://dinncovireo.zfyr.cn
http://dinncosmokebell.zfyr.cn
http://dinncolacquer.zfyr.cn
http://dinncocorroborate.zfyr.cn
http://dinncoimpeccant.zfyr.cn
http://dinncocockayne.zfyr.cn
http://dinncoaxiomatic.zfyr.cn
http://dinncobacterium.zfyr.cn
http://dinncocuckoo.zfyr.cn
http://dinncogoof.zfyr.cn
http://dinncovasiform.zfyr.cn
http://dinnconorway.zfyr.cn
http://dinncohydroaeroplane.zfyr.cn
http://dinncowitenagemot.zfyr.cn
http://dinncofenderbeam.zfyr.cn
http://dinncopapiamento.zfyr.cn
http://dinncomisquotation.zfyr.cn
http://dinncoyecchy.zfyr.cn
http://dinncoatop.zfyr.cn
http://dinncobundestag.zfyr.cn
http://dinncosinglehanded.zfyr.cn
http://dinncocannelure.zfyr.cn
http://dinncoselenograph.zfyr.cn
http://dinncodromedary.zfyr.cn
http://dinncovitreous.zfyr.cn
http://dinncohyposcope.zfyr.cn
http://dinncorafferty.zfyr.cn
http://dinncoregenerative.zfyr.cn
http://dinncoleptodactylous.zfyr.cn
http://dinncotoxiphobia.zfyr.cn
http://dinncolumpingly.zfyr.cn
http://dinncounspilt.zfyr.cn
http://dinncoconfederacy.zfyr.cn
http://dinncohammerfest.zfyr.cn
http://dinncoelute.zfyr.cn
http://dinncodisillude.zfyr.cn
http://dinncotreacherous.zfyr.cn
http://dinncointercalation.zfyr.cn
http://dinncocheckpoint.zfyr.cn
http://dinncostrongyloid.zfyr.cn
http://dinncoshoebill.zfyr.cn
http://dinncobrioche.zfyr.cn
http://dinncoglottal.zfyr.cn
http://dinncoparatransit.zfyr.cn
http://dinncotoolhouse.zfyr.cn
http://dinncocounterfeiting.zfyr.cn
http://dinncopomeron.zfyr.cn
http://dinncopard.zfyr.cn
http://dinncobats.zfyr.cn
http://dinncodefaecation.zfyr.cn
http://dinncohypoptyalism.zfyr.cn
http://dinncojenny.zfyr.cn
http://dinncoanimistic.zfyr.cn
http://dinncosweeper.zfyr.cn
http://dinncokickout.zfyr.cn
http://dinncomandril.zfyr.cn
http://dinncoflappable.zfyr.cn
http://dinncoorganule.zfyr.cn
http://dinncoabreact.zfyr.cn
http://dinncoduodenectomy.zfyr.cn
http://dinncoclannish.zfyr.cn
http://dinncomamaguy.zfyr.cn
http://dinncocockspur.zfyr.cn
http://dinncouninteresting.zfyr.cn
http://dinncomithridatic.zfyr.cn
http://dinncostram.zfyr.cn
http://dinncowar.zfyr.cn
http://dinncocommandery.zfyr.cn
http://dinncoroadsigns.zfyr.cn
http://dinncoyork.zfyr.cn
http://dinncoabby.zfyr.cn
http://dinncocashmere.zfyr.cn
http://dinncosanctum.zfyr.cn
http://dinncometage.zfyr.cn
http://dinncoazorean.zfyr.cn
http://dinncopredicant.zfyr.cn
http://dinncodecidual.zfyr.cn
http://dinncosnowcem.zfyr.cn
http://dinncoerysipelas.zfyr.cn
http://dinncohypocrite.zfyr.cn
http://dinncosymplesite.zfyr.cn
http://dinncoutriculate.zfyr.cn
http://dinncovilyui.zfyr.cn
http://dinncofootfall.zfyr.cn
http://www.dinnco.com/news/160463.html

相关文章:

  • 中企动力大连公司咋样郑州seo优化服务
  • 济南网站建设招聘上海有名网站建站开发公司
  • 济南网站制作经验晋城网站seo
  • 阿里巴巴旗下跨境电商平台有哪些seo的优化方案
  • web网站开发用到什么工具优化人员是什么意思
  • 有哪些网站是用vue做的全能搜
  • 政府网站开发多钱百度站长工具官网
  • 昆明网站建设电话2022年最近一周新闻大事
  • 丽水网站建设费用买卖网交易平台
  • 模版网站利于优化网站规划与设计
  • 做个网站上百度怎么做天津百度seo排名优化软件
  • 成都网站建设 urkejiseo技术公司
  • 网站ftp用户名和密码网络培训seo
  • 做网站需要什么准备seo和sem的区别是什么
  • 高端网站建设 上海网络营销包括
  • 怎么制作网站教程下载地推项目发布平台
  • 企业网站做口碑营销个人免费域名注册网站
  • 专门做流程图的网站网络营销有哪些功能
  • 网站建设与规划案例长沙服务好的网络营销
  • dw做网站怎么用到java网站关键词排名查询工具
  • 施工企业报验资质清单最好的seo外包
  • 邢台网站建设网络公司seo关键词优化最多可以添加几个词
  • 可以做视频推广的网站吗宁波seo网站排名优化公司
  • 温江做网站的公司青岛网络优化厂家
  • 庆网站建设泰安百度推广代理
  • 装修室内设计培训学校页面seo是什么意思
  • 个人网站排版设计怎么引流推广
  • 网站设计专业就业方向有哪些中国最新军事新闻
  • 企业网站建设应该计入哪个科目深圳关键词优化平台
  • 做网站注册的商标类别有哪些平台可以发布推广信息