实际上,我要做的是用我拥有的一些变量替换JSON字符串中的一些值。以下是我的代码快照:
listproxies = ['proxy1', 'proxy2', 'proxy3']
PROXY = random.choice(listproxies)
proxy_host = PROXY[:-28]
proxy_port = '12345'
proxy_username = PROXY[25:-9]
proxy_password = 'password'
print("USING PROXY: "+proxy_host+":"+proxy_port+":"+proxy_username+":"+proxy_password)
manifest_json = """
{
"version": "1.0.0",
"manifest_version": 2,
"name": "Chrome Proxy",
"permissions": [
"proxy",
"tabs",
"unlimitedStorage",
"storage",
"<all_urls>",
"webRequest",
"webRequestBlocking"
],
"background": {
"scripts": ["background.js"]
},
"minimum_chrome_version":"22.0.0"
}
"""
background_js = """
var config = {
mode: "fixed_servers",
rules: {
singleProxy: {
scheme: "http",
host: """+proxy_host+""",
port: parseInt("""+proxy_port+""")
},
bypassList: ["foobar.com"]
}
};
chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});
function callbackFn(details) {
return {
authCredentials: {
username: """+proxy_username+""",
password: """+proxy_password+"""
}
};
}
chrome.webRequest.onAuthRequired.addListener(
callbackFn,
{urls: ["<all_urls>"]},
['blocking']
);
"""
如您所见,在background_js
中,我试图调用变量proxy_host
和proxy_port
,然后proxy_username
&;proxy_password
,这似乎不起作用。。。你知道吗
JSON格式只允许双引号:
""
不允许使用单引号''
或""" """
。你知道吗使用内置的^{} 库,把这些东西当作字典来处理。你知道吗
此外,如果您愿意,可以在Python中使用fstrings,只需在字符串中嵌入变量:
相关问题 更多 >
编程相关推荐