如何使用Python获取SAP Temporary key 临时密钥

这篇具有很好参考价值的文章主要介绍了如何使用Python获取SAP Temporary key 临时密钥。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是Sap 临时密钥?

SAP 临时密钥是用于激活 SAP 软件的一种许可证,只能在有限的时间内使用。这些密钥可用于评估目的或在系统迁移期间使用。它们是临时解决方案,通常在一定时间后过期。

如何获取Sap Temporary keys?

临时密钥: 如果创建永久许可证密钥时出现任何错误,SAP支持门户网站提供临时的Business Objects许可证密钥。您可以通过登录到支持门户网站上的链接 www.service.sap.com/licensekey并选择“获取临时许可证密钥”链接来下载这些密钥。这些临时许可证密钥的有效期最长为90天。

方法1:手动下载

  1. www.service.sap.com/licensekey 打开网址之后点击这里下载一个名为“bobj-temp-license-key.zip”的文件:
    如何使用Python获取SAP Temporary key 临时密钥,SAP,python,开发语言
  2. 解压之后有一名为“SAP Analytics Emergency License Key Process”的pdf文件,在这里面可以找到你需要的License Key
    如何使用Python获取SAP Temporary key 临时密钥,SAP,python,开发语言

方法2:使用Python自动化获取Sap Temporary keys的过程

导入需要的包

from selenium import webdriver
import time
import zipfile
import PyPDF2
import os
import shutil
import warnings

下载bobj-temp-license-key.zip

# 定义文件夹路径,替换成你想保存zip文件的路径
download_zip_path = r"C:\\Users\\USERNAME\\Projects\\download_zip"

# 下载zip文件
options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0,
         'download.default_directory': download_zip_path}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://support.sap.com/content/dam/support/en_us/library/ssp/my-support/keys/bobj-temp-license-key.zip')

time.sleep(5)
driver.quit()

解压zip文件以获取pdf

# zip the zip file into 'bobj-temp-license-key'
file_path_zip = r"{}/bobj-temp-license-key.zip".format(download_zip_path)

if os.path.exists(file_path_zip):
    zip_file = zipfile.ZipFile(file_path_zip)
    zip_file.extractall(keys_path)
    zip_file.close()
    print("解压成功")
else:
    print("解压失败")

# 解压成功之后即可获得pdf的路径
file_path_pdf = "..."

从pdf文件中获取需要的Licence Key

以SAP BusinessObjects Tempory Licence Key为例,Licence Key位于pdf第二页的“CPU 4.2”字段之后,经过测试确定获取SAP BusinessObjects Tempory Licence Key的function:

# 获取SAP BusinessObjects Tempory Licence Key
def get_key_from_text(text):
    start = text.find('CPU 4.2') + 8
    return text[start:start + 32]

file_path_pdf为上一步中获取的pdf的路径:

if os.path.exists(file_path_pdf):
    pdf_file = open(file_path_pdf, 'rb')
    pdf_reader = PyPDF2.PdfReader(pdf_file)
    page = pdf_reader.pages[1]
    text = page.extract_text()
    latest_key = get_key_from_text(text)
    pdf_file.close()

如果每隔90天就需要更新一次license key,可以把licence key保存在一个txt文件里,成功获取最新的licence key之后可以和本地保存的licence key对比,如果latest_key != current_key,则将latest_key 替换current_key,以确保txt文件里永远保存最新的licence key。文章来源地址https://www.toymoban.com/news/detail-655571.html

if os.path.exists(file_path_pdf):
    pdf_file = open(file_path_pdf, 'rb')
    pdf_reader = PyPDF2.PdfReader(pdf_file)
    page = pdf_reader.pages[1]
    text = page.extract_text()
    latest_key = get_key_from_text(text)
    pdf_file.close()
    if latest_key != current_key:
        with open(current_key_txt_path, 'w') as file:
            file.write(latest_key)
        print("license已更新, latest license", latest_key)
    else:
        print("license未更新, current license:", latest_key)
else:
    print("PDF不存在")

完整代码

from selenium import webdriver
import time
import zipfile
import PyPDF2
import os
import shutil
import warnings

warnings.filterwarnings("ignore")

download_zip_path = r"C:\\Users\\USERNAME\\Projects\\download_zip" #zip文档下载到哪个文件夹
keys_path = r"C:\\Users\\USERNAME\\Projects\\bobj-temp-license-key"#zip文件解压到哪里
current_key_txt_path = r"C:\\Users\\USERNAME\\Projects\\BO_KEY.txt" #保存最新的licence的txt文件路径

# 读取txt文件,定义current_key
with open(current_key_txt_path, 'r') as file:
    current_key = file.read()


# 清空文件夹
## 清空download_zip_path和keys_path文件夹,清空之后再保存文件,方便后续读取
### 定义清空文件夹的function
def delete_folder_contents(folder_path):  
    for filename in os.listdir(folder_path):
        file_path = os.path.join(folder_path, filename)
        try:
            if os.path.isfile(file_path) or os.path.islink(file_path):
                os.unlink(file_path)
            elif os.path.isdir(file_path):
                shutil.rmtree(file_path)
        except Exception as e:
            print(f"Failed to delete {file_path}. Reason: {e}")

### 清空download_zip_path和keys_path文件夹
delete_folder_contents(download_zip_path)
delete_folder_contents(keys_path)

# download the latest zip
options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0,
         'download.default_directory': download_zip_path}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://support.sap.com/content/dam/support/en_us/library/ssp/my-support/keys/bobj-temp-license-key.zip')

time.sleep(5)
driver.quit()

# zip the zip file into 'bobj-temp-license-key'
file_path_zip = r"{}/bobj-temp-license-key.zip".format(download_zip_path)

if os.path.exists(file_path_zip):
    zip_file = zipfile.ZipFile(file_path_zip)
    zip_file.extractall(keys_path)
    zip_file.close()
    print("zip file unzipped successfully")
else:
    print("zip File does not exist")

time.sleep(5)

file_path_pdf = r'{}\SAP Analytics Emergency License Key Process.pdf'.format(keys_path)


def get_key_from_text(text):
    start = text.find('CPU 4.2') + 8
    return text[start:start + 32]


if os.path.exists(file_path_pdf):
    pdf_file = open(file_path_pdf, 'rb')
    pdf_reader = PyPDF2.PdfReader(pdf_file)
    page = pdf_reader.pages[1]
    text = page.extract_text()
    latest_key = get_key_from_text(text)
    pdf_file.close()
    if latest_key != current_key:
        with open(current_key_txt_path, 'w') as file:
            file.write(latest_key)
        print("license已更新, latest license", latest_key)
    else:
        print("license未更新, current license:", latest_key)
else:
    print("PDF不存在")

到了这里,关于如何使用Python获取SAP Temporary key 临时密钥的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【工具】Python从临时邮箱获取验证码

    安装好依赖库之后代码可直接运行, captcha = re.search(r\\\'您的验证码为: *(w+)*\\\', response.json()[\\\'body\\\'][\\\'html\\\']) 正则表达式部分改成自己的。

    2024年02月13日
    浏览(38)
  • 如何获取 ChatGPT 的 OpenAI API 密钥

    为什么需要 OpenAI API 密钥? 拥有 OpenAI API 密钥可以解锁多种强大的功能。您可以享受以下一些好处: 访问先进的人工智能模型 OpenAI 开发了 GPT-3 和 Codex 等多种先进的人工智能模型。借助 API 密钥,您可以利用这些模型的功能来执行自然语言理解和生成、代码编写、翻译等任

    2024年02月03日
    浏览(40)
  • sap 一次性供应商 供应商账户组 临时供应商

    sap中有一次性供应商这个名词,一次性供应商和非一次性供应商又有什么区别呢? 有如何区分一次性供应商和非一次性供应商呢?     1   区分一次性供应商和非一次性供应商的标志          在供应商的表LFA1中有个字段标示XCPDK(一次性科目),如果此表示被置为X则说明

    2024年02月10日
    浏览(27)
  • 用java语言写一个AES算法,使用AES(CBC模式)对数据进行加密或解密。加解密用到的密钥(Key)和密钥偏移量(IV),代码实例类编写。

    以下是一个使用Java编写的AES算法实例,使用AES(CBC模式)对数据进行加密和解密。代码中包括了生成随机密钥和密钥偏移量的方法。 java Copy code import javax.crypto.*; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.security.InvalidAlgorithmParameterException; import

    2024年02月07日
    浏览(45)
  • 【github添加ssh的key】ssh: Could not resolve hostname github: Temporary failure in name resolution

    遇到问题 :ssh: Could not resolve hostname github: Temporary failure in name resolution 解决方法 :github添加ssh的key 步骤: ssh-keygen -t rsa -C \\\"你的邮箱地址\\\" #创建ssh key #-t 指定密钥类型,默认rsa ,可省略; #-C 设置注释文字,比如邮箱; #-f 指定密钥文件存储文件名。 接着复制刚刚生成的密钥

    2024年02月07日
    浏览(49)
  • ChatGPT 如何获取API Key

    拥有OpenAI的账号(ChatGPT的账号) 可以正常访问OpenAI - ChatGPT(受限地区需要进行网络环境配置) 首先点击右边的 View API keys 然后点击 Create new secret key  即可生成新的API Key 注意生成后立即复制保存这个API Key,这个Key只显示一次,如果忘记保存就需要重新创建。

    2023年04月15日
    浏览(46)
  • 如何获取OpenAI API Key

    PS: 基于网友的反馈,内容进行了添加图片和说明。--2024.5.7 更多AI相关资讯,大家可以 访问:Python学习导航 --人生苦短,我用Python   PS;以下连接,你要可以魔法访问网络,就是要有小飞机,梯子。不然连接打不开。 如果不懂,我就不多说了,不想去踩缝纫机。 要获取 O

    2023年04月18日
    浏览(28)
  • 如何获取 openai ChatGPT的key?(图文教学)

    Q:获取chatptp的key A:对不起,作为ChatGPT,我不具有API密钥或访问凭据。我只是一个已经被训练好的自然语言处理模型,通过输入文本来生成回复。您可以在OpenAI的网站上了解有关他们的API和访问凭据的信息。如果您需要使用OpenAI的API,您需要注册OpenAI账户并进行身份验证,

    2024年02月06日
    浏览(41)
  • 如何查询chatgpt-API-KEY接口的使用额度,代码php和python源码

    ChatGPT是一款由OpenAI开发的强大自然语言处理模型,可以帮助开发者实现各种自然语言相关的应用场景。为了能够使用ChatGPT,开发者需要通过OpenAI获取API-KEY,然后才能使用模型接口进行开发。 但是,在使用ChatGPT的过程中,开发者需要时刻关注API-KEY的使用情况,以确保不会因

    2024年02月12日
    浏览(34)
  • Git 本地配置SSH Key(密钥)

    Git配置 打开Git Bash 配置你的用户名和邮箱 git config --global user.name “zhangsan” git config --global user.email “zhangsan@xxxx.com” 生成SSH key ssh-keygen -t rsa -C “zhangsan@xxxx.com” 获取SSH Key 根据命令行提示,获取以ssh-rsa的字符串(包括ssh-rsa) 按键”回车键“ 生成了SSH Key(密钥)如下图所示

    2024年04月27日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包