Привет! Я создал некоторый код, который создает пользовательскую границу, которая выглядит точно так же, как и Chrome (------ WebKitBoundaryXXXXXXXXXXXXXXX)
class launch():
def __init__(self):
randomStr = ''.join(random.choice(string.digits + string.ascii_uppercase + string.ascii_lowercase) for i in range(16))
boundary = f'------WebKitFormBoundary{randomStr}'
postData = multipart({"a": "1", "b": "2", "c": "3"}, boundary)
print(postData)
def formit(self, key, value, boundary):
return f'''\n{boundary}
\rContent-Disposition: form-data; name="{key}"
\n{value}'''
def multipart(self, dictionary, boundary):
final = ''
for k in dictionary:
key = k
value = dictionary[k]
final += self.formit(key, value, boundary)
final += f'\n{boundary}--'
launch()
Вывод:
------WebKitFormBoundaryqmNyojR7fKn5Vz4h
Content-Disposition: form-data; name="a"
1
------WebKitFormBoundaryqmNyojR7fKn5Vz4h
Content-Disposition: form-data; name="b"
2
------WebKitFormBoundaryqmNyojR7fKn5Vz4h
Content-Disposition: form-data; name="c"
3
------WebKitFormBoundaryqmNyojR7fKn5Vz4h--
И когда я пытаюсь опубликовать запрос с использованием ключевого слова data=
, сервер отвечает неверным запросом 400. Можно ли как-то это сделать, используя пользовательские данные из нескольких частей?