Anonymous | Login | Signup for a new account | 02-12-24 23:22 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0003550 | SAS.Планета | [All Projects] Баг | public | 21-08-2019 21:25 | 30-08-2019 13:57 | ||||
Reporter | aflexus | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 190707 | ||||||||
Target Version | 191221 | Fixed in Version | 191221 | ||||||
Summary | 0003550: Не удаётся отправить Cookie в закодированном виде | ||||||||
Description | GetScript.txt Отправка через RequestHead-параметр переменной закодированной в URLEncode() по-факту отправляется декодированной. Если эту же переменную сохранить банально в файл, кодировка сохраняется. | ||||||||
Steps To Reproduce | То есть:
И вот если сделать запрос с таким вот заголовком:
То на самом деле отправится декодированная ('kd3/sd+asi adf') переменная. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | GetUrlScript.txt [^] (1,186 bytes) 21-08-2019 23:05 [Show Content]
Screenshot_1.png [^] (62,066 bytes) 21-08-2019 23:06 Image 1.png [^] (43,129 bytes) 21-08-2019 23:26 GetUrlScript_Error.txt [^] (1,174 bytes) 21-08-2019 23:38 [Show Content] | ||||||||
Notes | |
(0019280) aflexus (reporter) 21-08-2019 21:50 |
Сообщение поломалось немного, но думаю, и из контекста понятно :) RequestHead := 'Data:' + e + 0000013#10... |
(0019281) zed (manager) 21-08-2019 22:53 |
Может ваша функция URLEncode просто не работает? Покажите исходник? Записал в скрипте строку: RequestHead := 'Data: ' + 'kd3%2Fsd%2Basi%20adf' отправилось как и положено (смотрел в wireshark). Что в общем-то не удивительно, т.к. никаких дополнительных обработок заголовков не выполняется. |
(0019282) aflexus (reporter) 21-08-2019 22:56 |
function URLEncode(const ASrc: String): String; var i: Integer; SafeChars: String; begin Result := ''; SafeChars := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; for i := 1 to Length(ASrc) do begin if not isInString( ASrc[i], SafeChars ) then begin Result := Result + '%' + IntToHex(Ord(ASrc[i]), 2); end else begin Result := Result + ASrc[i]; end; end; end; |
(0019283) aflexus (reporter) 21-08-2019 22:58 edited on: 21-08-2019 22:59 |
При этом, если сделать SaveToLocalFile(dbg_file, URLEncode(v)); То в файл сохранится так, как надо. |
(0019284) zed (manager) 21-08-2019 22:59 |
isInString? |
(0019285) aflexus (reporter) 21-08-2019 22:59 |
Ну это банально: function isInString(const ch: Char; const s: String): Boolean; var i: Integer; begin Result := False; for i := 1 to Length(s) do begin Result := s[i] = ch; if Result then Break; end; end; |
(0019286) zed (manager) 21-08-2019 23:08 |
> Ну это банально Это понятно, но мне же надо воспроизвести ваш кейс, а не написать свой вариант, который может работать (в отличии от вашего). Приложил скрипт (взял за основу OSM Mapnik), у меня он работает как надо. И в Pascal Script IDE пишет всё как надо и в сеть уходит закодированная строка. |
(0019287) zed (manager) 21-08-2019 23:10 |
Чем вы смотрите заголовки при передаче в сеть? Покажите ваш скрипт целиком, может там ошибка и вместо одной переменной вы отправляете другую? |
(0019288) aflexus (reporter) 21-08-2019 23:27 edited on: 21-08-2019 23:51 |
Все дело в имени параметра - "Cookie" :) Именно с ним переменная почему-то декодируется. Скриншот приложил. И добавил GetUserScript - который не работает. Спасибо огромное за помощь! Теперь получилось повторить поведение? |
(0019291) zed (manager) 22-08-2019 09:13 |
Да, с куками получилось. Похоже на баг в используемом компоненте - при установке заголовков он автоматически декодирует поле Cookie и впоследствии в таком виде и отправляет в интернет. Сделал заглушку, чтобы такого не происходило. В следующей ночной версии куки будут уходить в том же виде, что и были установлены в скрипте. |
(0019295) aflexus (reporter) 22-08-2019 17:26 |
Супер! Благодарю за оперативность! |
Users who viewed this issue | |
User List | Anonymous (1661x), omen98 (1x), rass (3x), kosmos_b (1x), zed (24x), aflexus (41x), vdemidov (9x), Tolik (2x), ygorigor (1x) |
Total Views | 1743 |
Last View | 02-12-2024 23:22 |
Issue History | |||
Date Modified | Username | Field | Change |
21-08-2019 21:25 | aflexus | New Issue | |
21-08-2019 21:50 | aflexus | Note Added: 0019280 | |
21-08-2019 22:42 | zed | Steps to Reproduce Updated | View Revisions |
21-08-2019 22:53 | zed | Note Added: 0019281 | |
21-08-2019 22:54 | zed | Status | new => feedback |
21-08-2019 22:56 | aflexus | Note Added: 0019282 | |
21-08-2019 22:56 | aflexus | Status | feedback => new |
21-08-2019 22:58 | aflexus | Note Added: 0019283 | |
21-08-2019 22:59 | aflexus | Note Edited: 0019283 | View Revisions |
21-08-2019 22:59 | zed | Note Added: 0019284 | |
21-08-2019 22:59 | aflexus | Note Added: 0019285 | |
21-08-2019 23:05 | zed | File Added: GetUrlScript.txt | |
21-08-2019 23:06 | zed | File Added: Screenshot_1.png | |
21-08-2019 23:08 | zed | Note Added: 0019286 | |
21-08-2019 23:10 | zed | Note Added: 0019287 | |
21-08-2019 23:26 | aflexus | File Added: Image 1.png | |
21-08-2019 23:27 | aflexus | Note Added: 0019288 | |
21-08-2019 23:28 | aflexus | Note Edited: 0019288 | View Revisions |
21-08-2019 23:30 | aflexus | Note Edited: 0019288 | View Revisions |
21-08-2019 23:38 | aflexus | File Added: GetUrlScript_Error.txt | |
21-08-2019 23:39 | aflexus | Note Edited: 0019288 | View Revisions |
21-08-2019 23:51 | aflexus | Note Edited: 0019288 | View Revisions |
22-08-2019 09:13 | zed | Note Added: 0019291 | |
22-08-2019 09:17 | zed | Status | new => resolved |
22-08-2019 09:17 | zed | Resolution | open => fixed |
22-08-2019 09:17 | zed | Product Version | => 190707 |
22-08-2019 09:17 | zed | Fixed in Version | => 191221 |
22-08-2019 09:17 | zed | Target Version | => 191221 |
22-08-2019 09:17 | zed | Summary | GetScript.txt: отправка через RequestHead строки закодированной в URLEncode() - ошибка. => Не удаётся отправить Cookie заданные в RequestHead в закодированном виде |
22-08-2019 09:18 | zed | Assigned To | => zed |
22-08-2019 09:18 | zed | Status | resolved => assigned |
22-08-2019 09:18 | zed | Status | assigned => resolved |
22-08-2019 17:26 | aflexus | Note Added: 0019295 | |
22-08-2019 17:26 | aflexus | Status | resolved => closed |
22-08-2019 17:52 | zed | Summary | Не удаётся отправить Cookie заданные в RequestHead в закодированном виде => Не удаётся отправить Cookie в закодированном виде |
22-08-2019 17:56 | vdemidov | Priority | high => normal |
22-08-2019 17:56 | vdemidov | Severity | major => minor |
22-08-2019 17:56 | vdemidov | Status | closed => resolved |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |