| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Сделать пост запрос. длинный с русскими буквами. |
| Автор: burakov 21.11.2012, 23:43 | ||
| Добрый день. необходимо запостить POST запросом данные на форум. подсмотрел в андипаросе. контент шифруется вот таким вот образом. SLAVA2+%C4%E0+%ED%E5+%F1%EA%E0%E6%E8%2C+%EF%F0%EE%F4%E8%EB%E0%EA%F2%E8%EA%E0+%EE%F7%E5%ED%FC+%EF%EE%EB%E5%E7%ED%E0%FF+%E2%E5%F9%FC.+%C4%E0%E2%E0%E9+%EE%F2%E2%EB%E5%F7%B8%ED%ED%EE+%EF%EE%E4%F3%EC%E0%E5%EC.+%C2%EE%F2+%ED%E5+%E1%FB%EB%EE+%E1%FB+%E2%EE%E7%EC%EE%E6%ED%EE%F1%F2%E8+%F3%E3%ED%E0%F2%FC+%F2%E0%F7%EA%F3+%E2+%E4%F0%F3%E3%EE%EC+%E3%EE%F0%EE%E4%E5+%E8+%F1%EF%EE%EA%EE%E9%ED%EE+%ED%E0+%ED%E5%E9+%EA попробовал на нем URI::Escape расшифровало с плюсами отчего то SLAVA2+Да+не+скажи,+профилактика+очень+полезная+вещь.+Давай+отвлечённо.... Моя задача вот так зашифровать текст в кодировке cp1251 и отправить. делаю как обычно, всегда полчалось (и в этом случае получается, если строку обрезать до 1000 символов). но мне нужно отправить больше. вот вопрос, что за шифрация такая.? какой функцией можно преобразовать строку в cp1251 в нечто такое с плюсами , чтобы потом подставить это дело в пост запрос? делал $str = uri_escape ($str); не помогает (не постит). в чем тут дело? как зашифровать точно также? (uri_escape как то по другому визуально шифрует - без плюсов .. ну и еще какие то различия на глаз есть) СПАСИБО.
|
| Автор: Arantir 22.11.2012, 03:06 |
| Попробуйте закодировать в base64. Очень распространенный способ для устранения проблем с кодировками. |
| Автор: burakov 22.11.2012, 08:33 |
| Я попробую.. но я же как бы LWP посывалю запрос на сервер, то есть он должен быть в таком виде, чтобы сервер его расшифровал. (то есть как бы строкой вида SLAVA2+%C4%E0+%ED%E5+%F1%EA%E0%E6%E8%2C+%EF%F0%EE%F4%E8%EB%E0%EA%F2%E8%EA%E0+%EE%F7%E5%ED%FC+%EF%EE%EB%E5%E7%ED%E0%FF+%E2%E5%F9%FC.+%C4%E0%E2%E0%E9+%EE%F2%E2%EB%E5%F7%B8%ED%ED%EE+%EF%EE%E4%F3%EC%E0%E5%EC.+%C2%EE%F2+%ED%E5+%E1%FB%EB%EE+%E1%FB+%E2%EE%E7%EC%EE%E6%ED%EE%F1%F2%E8+%F3%E3%ED%E0%F2%FC+%F2%E0%F7%EA%F3+%E2+%E4%F0%F3%E3%EE%EC+%E3%EE%F0%EE%E4%E5+%E8+%F1%EF%EE ) иначе.. может быть и не расшифрует? что это за шифрация такая. дело в том, что я закодировал (попробовал) URI::Escape.. номер не прошел. пост не опубликовался. то есть нужно точно сказать. в чем мне его и чем кодировать? |
| Автор: ginnie 22.11.2012, 10:14 | ||
burakov, возможно этот фрагмент поможет
|
| Автор: burakov 22.11.2012, 10:23 |
| Спасибо, код попробую, но все таки.. хотелось бы просто модуль для правильной перекодировки. (бездумной ну есть же URI::Escape также говорят вот это может помочь use URI::Encode; my $uri = URI::Encode->new( { encode_reserved => 0 } ); my $encoded = $uri->encode($data); но ни черта не помогает. |
| Автор: ginnie 22.11.2012, 10:39 | ||
Уважаемый burakov, вот не стыдно заставлять меня все за Вас делать? Можно было самому посмотреть код в HTTP::Request::Common и увидеть:
|