Форум сайта python.su
Не успел я решить проблему с графическим интерфейсом своей приблуды, как возникла новая.
Список из строк байтов, которые мне нужно отправить. Это я буду делать, отправляя POST запрос с помощью библиотеки requests.
requests.post(r'http://localhost:8080/sklpostreciver', {'data': byte_strings, 'user': os.getlogin()})
@route('\address') def get_data(): data = request.forms.get('data')
for byte_string in data: byte_string = rsa.decrypt(byte_string, privat_key)
Traceback (most recent call last): File "C:\Program Files (x86)\Python35-32\lib\site-packages\bottle.py", line 862, in _handle return route.call(**args) File "C:\Program Files (x86)\Python35-32\lib\site-packages\bottle.py", line 1732, in wrapper rv = callback(*a, **ka) File "C:\Users\BearPro\documents\visual studio 2015\Projects\...\reciver.py", line 23, in get_data bit_string = rsa.decrypt(byte_string, privat_key) File "C:\Program Files (x86)\Python35-32\lib\site-packages\rsa\pkcs1.py", line 231, in decrypt encrypted = transform.bytes2int(crypto) File "C:\Program Files (x86)\Python35-32\lib\site-packages\rsa\transform.py", line 52, in bytes2int return int(binascii.hexlify(raw_bytes), 16) TypeError: a bytes-like object is required, not 'str'
Офлайн
Гугление в английском интернете помогло.
нужно просто byte_string = ‘string’.encode()
Вопрос закрыт, спасибо.
Офлайн
Нет, не закрыт совсем.
Теперь у меня в файл записывается только три символа за три прохода: “ue.”, и всё. Я вообще не понимаю, откуда и это взялось. Значение переменной со строками, сразу после отправки:
(я убрал шифрование на время разработки)
[b'\x80\x02]q\x00(U\x1111/20/16 10:47:47q\x01}q\x02(U\tascii_argq\x03U\x0297q\x04U\n', b'window_argq\x05U\x1bC:\\WINDOWS\\system32\\cmd.exeq\x06U\tkeyID_argq\x07U\x0265q\x08U\x07key_argq\tU\x01Aq\n', b'ue.\x80\x02]q\x00(U\x1111/20/16 10:47:56q\x01}q\x02(U\tascii_argq\x03U\x0297q\x04U\n', b'window_argq\x05U\x02tkq\x06U\tkeyID_argq\x07U\x0265q\x08U\x07key_argq\tU\x01Aq\n', b'ue.\x80\x02]q\x00(U\x1111/20/16 10:47:58q\x01}q\x02(U\tascii_argq\x03U\x0297q\x04U\n', b'window_argq\x05U\x1bC:\\WINDOWS\\system32\\cmd.exeq\x06U\tkeyID_argq\x07U\x0265q\x08U\x07key_argq\tU\x01Aq\n', b'ue.\x80\x02]q\x00(U\x1111/20/16 10:48:10q\x01}q\x02(U\tascii_argq\x03U\x0298q\x04U\n', b'window_argq\x05U\x1bC:\\WINDOWS\\system32\\cmd.exeq\x06U\tkeyID_argq\x07U\x0266q\x08U\x07key_argq\tU\x01Bq\n', b'ue.\x80\x02]q\x00(U\x1111/20/16 10:48:11q\x01}q\x02(U\tascii_argq\x03U\x010q\x04U\n', b'window_argq\x05U%Chroma_Head - Microsoft Visual Studioq\x06U\tkeyID_argq\x07U\x03162q\x08U\x07key_argq\tU\x08Lcontrolq\n', b'ue.\x80\x02]q\x00(U\x1111/20/16 10:48:11q\x01}q\x02(U\tascii_argq\x03U\x010q\x04U\n', b'window_argq\x05U%Chroma_Head - Microsoft Visual Studioq\x06U\tkeyID_argq\x07U\x03160q\x08U\x07key_argq\tU\x06Lshiftq\n', b'ue.\x80\x02]q\x00(U\x1111/20/16 10:48:11q\x01}q\x02(U\tascii_argq\x03U\x010q\x04U\n', b'window_argq\x05U%Chroma_Head - Microsoft Visual Studioq\x06U\tkeyID_argq\x07U\x0227q\x08U\x07key_argq\tU\x06Escapeq\n', b'ue.']
'ue.'
Офлайн
Чую, меня сейчас забанят нафиг.
Короче, в режиме отладки остановил программу, и посмотрел какие атрибуты содержит в себе объект request'a. Нашёл там нужную мне request.POST.dict, которая содержала строки.
Конвертнул строки в строки байт, записал в файл, закрыл файл…
Traceback (most recent call last): File "C:\Users\BearPro\documents\visual studio 2015\Projects\...\interpretor.py", line 9, in <module> unpickled_data = pickulator.GetDataFromDump() File "C:\Users\BearPro\documents\visual studio 2015\Projects\...\pickulator.py", line 10, in GetDataFromDump data = pickle.load(data_file) _pickle.UnpicklingError
Отредактировано BearPro (Ноя. 21, 2016 15:00:24)
Офлайн