python请求的安全协议

2024-04-19 14:14:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道Python中“requests”库使用的安全协议。具体来说,我想了解库是否实现了某些安全措施,如字符串转义,以确保安全提取网站内容。在

例如,假设我向某个在后端执行有问题的js脚本的站点发出请求。如果我运行以下代码会发生什么?在

r = requests.get('https://somesite.com')

Tags: 字符串代码https脚本com协议内容get
1条回答
网友
1楼 · 发布于 2024-04-19 14:14:08

请求只会返回一个字符串(和响应代码等)以及服务器所回复的内容。与名字所暗示的一样,请求库向服务器发送一个HTTP请求,然后服务器发送一个响应。在

它对响应文本的唯一处理是处理编码-,即,以处理unicode处理。如果你愿意,你甚至可以把它关掉。手册here对此进行了说明。在

例如,这段代码只会将HTML源代码打印到站点示例.org公司名称:

r = requests.get('https://example.org/')
print(r.text);

如果服务器执行可疑的javascript,那么任何人都无能为力,因为当服务器接收到请求时,它会做任何它想做的事情。理想情况下,服务器应该被编程为不这样做,但这并不是客户端真正的问题。在

如果服务器返回可疑的javascript,则不会转义该javascript。Python不会仅仅因为javascript在字符串中就执行javascript,但是如果您基于请求的响应生成HTML,那么就由您来确保您生成的HTML中没有可疑的javascript。在

因此,除非您信任生成响应的服务器,否则将从请求收到的响应视为不受信任的输入。您不必担心请求执行来自服务器本身的代码,但如果服务器提供恶意数据,而您将输入传递给某个将执行该数据的内容,如web浏览器(如果是javascript),那么您可能会遇到麻烦。在

相关问题 更多 >