所以我有一些用Python编写的自动化代码,用于填充电子邮件模板字符串,其中一个是指向包含字符&
的Splunk查询的链接。填充电子邮件后,我将传入的args创建为一个cmdline来调用子进程库,如下所示:
pipe = subprocess.Popen(cmdline, stdin=inout, stdout=inout,
stderr=inout, close_fds=closefds,
preexec_fn=setsid, startupinfo=startupinfo)
现在cmdline
是包含以下内容的列表:
['open', "mailto:[email protected]&subject=My subject&body=Some
text with the following problem link:
https://splunk-link.com:443/app/my_app/@go?dispatch_view=alert&s=%2FservicesNS%2Fnobody%2Fapigateway-prod%2Fsaved%2Fsearches%2FAPI%2520Gateway%2520Credential%2520Security%2520Violation%253A%2520Auth%2520Header%2520on%2520HTTP%2520%2528Non%2520SSL%2529%2520-%2520Daily"]
每次打开默认邮件提供程序时,在这种情况下都是Outlook,在链接的&
处都会截取邮件。
我已经尝试将链接用双引号和单引号引起来,用\&\
和^&
进行了转义,但还是没有运气。
有人可以帮我吗?预先谢谢你。
-布莱恩
因此,我有一些用Python编写的自动化代码,用于填充电子邮件模板字符串,其中一个是指向包含字符&的Splunk查询的链接。填充电子邮件后,我将...
&
是URL中参数之间的分隔符。您需要将其编码为%26
。