有没有办法通过RESTful URL传递HTML?

时间:2018-03-13 17:21:47

标签: html rest email

所以我在公司设置了一个基本的电子邮件程序。这是一个REST API GET调用,它有一个像这样的URL。

http://localhost:8080/api/emailer?email=to@person.here&subject=test&body=test

对于body =我想传递HTML电子邮件的HTML。

e.g。

http://localhost:8080/api/emailer?email=to@person.here&subject=test&body=<html><head></head><body>test</body></html>

我试过简单地在那里传递HTML并且该网站引发了错误。

据我所知,这可能是不可能的。我可能需要接受一个文件并在HTML代码中转换它。 API中的代码采用字符串,它不关心html,所以这里有一些关于在URL或RESTful URL中传递某些字符的内容。我是RESTful的新手,所以我一直在阅读,但这个领域似乎缺少细节。

1 个答案:

答案 0 :(得分:1)

必须对GET参数进行编码,将参数体中不允许的任何字符(例如?&=和空格)替换为百分比标志后跟两个数字(例如%3F%26%3D%20。幸运的是,在大多数语言中,您不必担心手动执行此操作。

JavaScript有一个名为encodeURIComponent的函数,您可以这样使用它:encodeURIComponent(html)

Python有一个名为urllib.parse的包,其中包含一个名为quote的函数,您可以这样使用它:

from urllib.parse import quote

# ...

encoded = quote(html)

其他语言也有类似方法,只需在Google上搜索“&lt; language name&gt; encode URI”。