我目前有一些JavaScript代码调用.php文件,使用点击功能从.jsp中向我发送电子邮件。它还包括几个变量,见下文。
<script>
function sendMail(video, user) {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {// IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "http://www.mydomain.com/sendemail.php?video="+video+"&user="+user+'&ip=<%= request.getHeader("X-Real-IP") %>', false);
xmlhttp.send();
}
</script>
在.jsp文件中调用脚本:
<a href="${videoUrl}" target="main" onclick="sendMail(parentElement.parentElement.getElementsByTagName('span')[2].attributes['title'].value, '${model.user.username}')">
现在我有一个.py(不同的应用程序而不是上面的)文件,我想称之为sendMail函数。我想在.py文件中调用sendMail函数的部分
def play(self, song_id):
Addon.log('play: ' + song_id)
if Addon.get_setting('transcode') == 'true':
bitrate = self.bitrates[int(Addon.get_setting('bitrate'))]
Addon.resolve_url(self.build_rest_url('stream.view',
{'id': song_id,
'maxBitRate': bitrate}))
else:
Addon.resolve_url(self.build_rest_url('download.view',
{'id': song_id}))
现在无论如何都要在python文件中完成这个sendMail函数吗?我可以调用URL来代替使用该函数吗?
我弗兰肯斯坦是一个webapp我正在运行给我发电子邮件通知,我发现最简单的方法是创建JavaScript函数,然后调用一些PHP来发送电子邮件。现在python是一个不同的应用程序,只是试图弄清楚如何做同样的事情,调用URL发送电子邮件,但使用Python。
答案 0 :(得分:0)
直接从Python代码调用PHP代码并不简单,但如果我理解您的情况,那么您真正想要做的就是向服务器发送HTTP请求,对吧?您发送该HTTP请求的服务器正在运行PHP应用程序,但这根本与您的Python代码无关?
只需import urllib2
。将URL构造为字符串(与Javascript的执行方式类似,或者使用字典和urllib2.urlencode()
使用更高级的功能)。然后是urllib2.urlopen(url)
。
答案 1 :(得分:0)
要调用网址,请尝试urllib2模块,例如:
>>> import urllib2
>>> f = urllib2.urlopen('http://www.python.org/')
>>> print f.read(100)
要发送电子邮件,请尝试以email module开头的any of these examples。
要在同一台机器上启动外部进程(例如php脚本),请尝试SubProcess模块