我有一个小脚本,尝试在一个post请求的字符串中嵌入字符串变量。 我遇到的问题是,当我使用f-string格式化时,会出现以下错误。
richard@kali:~/Dropbox/offsec/Code/5_Bassmaster$ ./bassmaster.py 192.168.1.101
Traceback (most recent call last):
File "./bassmaster.py", line 15, in <module>
json = f'{"requests": [{request_1}, {request_2}, {request_3}]}'
ValueError: Invalid format specifier
这是我的代码。据我所知,它应该嵌入这些字符串,但是我无法消除错误。我尝试使用
^
字符,如此处建议的那样,但它并没有解决问题。#!/usr/bin/python3
import requests,sys
if len(sys.argv) != 2:
print(f"(+) usage: {sys.argv[0]} <target>")
sys.exit(-1)
target = f"http://{sys.argv[1]}:8080/batch"
request_1 = '{"method":"get","path":"/profile"}'
request_2 = '{"method":"get","path":"/item"}'
request_3 = '{"method":"get","path":"/item/$1.id"}'
json = f'{"requests": [{request_1}, {request_2}, {request_3}]}'
r = requests.post(target, json)
print(r.text)
{
,需要写成两个连续的花括号{{
。 - AChampion