【发布时间】:2017-09-05 19:00:24
【问题描述】:
我有一个网站,它只发送几行 Python。我使用请求连接到该站点并获取它,但其中包含 \n。这是我的意思的一个例子:
import requests
r = r.get("www.example.com")
t = r.text
exec(t)
变量 t 有新行。这是错误:
>>> exec(t)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
import time\nprint(time.time())
^
SyntaxError: unexpected character after line continuation character
另一件事:在从中检索它的网页上,它是一个\n,但t的值有\n而不是\n。我不确定我能做些什么来解决这个问题。
【问题讨论】:
-
执行从 get 请求返回的 python 代码听起来很糟糕
-
这是我自己的网站。
-
您的请求文本不包含换行符。可能它包含反斜杠文字,后跟 n.
-
正如其他评论者所说,执行浏览器发送的 Python 代码是一个非常糟糕的主意,即使它是您自己的站点。仅仅因为它是您自己的网站不会阻止邪恶的人阅读您的 HTML 和/或 Javascript,弄清楚它向您的服务器发送的请求,并编写他们自己从未预料到的版本。唯一安全的情况是,如果它是仅具有本地访问权限的测试原型,并且您是唯一的用户。
标签: python python-3.x python-requests newline