Ale*_*ort 6 python perl domainkeys dkim
我正在攻击DomainKeys和DKIM对开源电子邮件营销程序的一些支持,该程序使用python脚本通过SMTP发送实际的电子邮件.我决定走快速而肮脏的路线,然后编写一个perl脚本,接受来自STDIN的电子邮件,签名,然后返回签名.
我想做的是,从python脚本,将字符串中的电子邮件文本传递给perl脚本,并将结果存储在另一个变量中,这样我就可以发送签名的电子邮件.然而,我并不是一个蟒蛇大师,我似乎无法找到一个很好的方法来做到这一点.我很确定我可以使用类似的东西os.system,但是将一个变量传递给perl脚本似乎是我无法实现的.
简而言之:如何将变量从python脚本传递到perl脚本,并将结果存储在Python中?
编辑:我忘了包括我正在使用的系统只有python v2.3
Cha*_*ens 11
使用子进程.这是Python脚本:
#!/usr/bin/python
import subprocess
var = "world"
pipe = subprocess.Popen(["./x.pl", var], stdout=subprocess.PIPE)
result = pipe.stdout.read()
print result
Run Code Online (Sandbox Code Playgroud)
这是Perl脚本:
#!/usr/bin/perl
use strict;
use warnings;
my $name = shift;
print "Hello $name!\n";
Run Code Online (Sandbox Code Playgroud)
os.popen()将返回一个带有子进程的stdin和stdout的元组.
from subprocess import Popen, PIPE
p = Popen(['./foo.pl'], stdin=PIPE, stdout=PIPE)
p.stdin.write(the_input)
p.stdin.close()
the_output = p.stdout.read()
Run Code Online (Sandbox Code Playgroud)