Python 更改javascript响应并重新发送

Python 更改javascript响应并重新发送,python,json,python-requests,web-crawler,Python,Json,Python Requests,Web Crawler,我试图从服务器获取一个java脚本文件,对其进行操作,并将其作为对另一个请求的响应重新发送。 这是请求和响应文件 import requests as req headers = {'Connection': 'keep-alive',\ 'Pragma': 'no-cache',\ 'Cache-Control': 'no-cache',\ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36

我试图从服务器获取一个java脚本文件,对其进行操作,并将其作为对另一个请求的响应重新发送。 这是请求和响应文件

import requests as req
headers = {'Connection': 'keep-alive',\
    'Pragma': 'no-cache',\
    'Cache-Control': 'no-cache',\
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) \
    Chrome/75.0.3770.142 Safari/537.36',\
    'Accept': '*/*',\
    'Accept-Language': 'en-GB,en;q=0.9,en- US;q=0.8,fa;q=0.7,eo;q=0.6',\
    'Cookie': '_ga=GA1.1.879245751.1566985641; cookieconsent_status=dismiss; \
    csrftoken=soEaxgZCM95FtydIUO4McG7G5Uek2uknLRCs0K6VI8amnbEAw1dXWV3kIONBtpgV; \
    _gid=GA1.1.1723047283.1573514239; io=yWUz84McCeIU7PLvJz1w'}
response = req.get('https://skribbl.io/js/game.js', headers = headers)
现在我想编辑js文件,例如,我想在它的函数的第一行添加一行。 我的密码在这里

x = 'o.prototype.createTransport=function(t){'
y = 'o.prototype.createTransport=function(t){console.log(this.hostname);'
response.__dict__['_content'] = str.encode(str(response.__dict__['_content']).replace(x, y))

内容更改正确,但问题是我认为应该更改“content length”和一些我不知道的其他属性,以便浏览器能够解析这个新的js代码。例如,我不知道如何计算这个响应的新“内容长度”。然后是任何标准库(如用于html文件的漂亮soap),它会自动执行此操作?

您不需要编辑js文件。JS文件是一致的,不会及时更改。因此,您只需下载一次文件,然后对其进行更改并保存更改。然后,无论何时您想要提供该文件,都可以重新发送保存在计算机中的更改javascript文件。

您不需要编辑js文件。JS文件是一致的,不会及时更改。因此,您只需下载一次文件,然后对其进行更改并保存更改。然后,无论何时您想要提供该文件,请重新发送保存在您计算机中的更改javascript文件。

您是想将您的请求发送回服务器,还是想将您的一些javascript代码注入从服务器获得的
game.js
文件并在web浏览器中运行?我不确定您为什么要这样做。但出于测试目的,您可以尝试对Chrome使用资源覆盖扩展。因此,您可以将外部JS文件更改为任何您想要的。@Pierre是的,我想将请求发送回server@uaBArt谢谢,但我想在python中执行此操作并编辑req.get()的响应。@kami54您希望将其发送到服务器上的哪个端点?您是否正在尝试将请求发送回服务器,或者将您的一些JavaScript代码注入从服务器获得的
game.js
文件并在web浏览器中运行?我不知道您为什么要这样做。但出于测试目的,您可以尝试对Chrome使用资源覆盖扩展。因此,您可以将外部JS文件更改为任何您想要的。@Pierre是的,我想将请求发送回server@uaBArt谢谢,但我想在python中执行此操作并编辑req.get()的响应。@kami54您想将其发送到服务器上的哪个端点?