Текущее время: Вс, июл 20 2025, 00:59

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: escape_url у cl_http_utility
СообщениеДобавлено: Вт, дек 13 2005, 18:01 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
Странный какой-то метод у класса cl_http_utility. как-то он неправильно делает свою работу. На входе '3, 29', на выходе '3%2c+29', вместо ожидаемого '3%2c%2029' :( . может у него хитрые параметры есть какие? не очень хочется с него на ФМ 'URL*' переходить... ибо тоже не прямые какие-то... :?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: re
СообщениеДобавлено: Вт, дек 13 2005, 18:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
url encode так и должен работать


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: re
СообщениеДобавлено: Вт, дек 13 2005, 18:36 
Гость
trop написал(а):
url encode так и должен работать


да? давно пробел на + меняется?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: re
СообщениеДобавлено: Вт, дек 13 2005, 18:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
это потому что строка url, а не escape для передачи
учите матчасть


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: re
СообщениеДобавлено: Вт, дек 13 2005, 19:02 
Гость
trop написал(а):
это потому что строка url, а не escape для передачи
учите матчасть


а с чего ты взял, что я что-то передаю? просто надо преобразовать. и что значить "escape для передачи"?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: ку
СообщениеДобавлено: Вт, дек 13 2005, 19:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
escape для url и для данных немного различаются,
в url escape пробел меняется на +
обычный escape делает %20, т.е. тебе нужен не escape_url, а аналог без _url

как-то так..
посмотрел, попробуй ESCAPE_HTML, хотя там только   и > всякие,
или после вызова escape_url вызывать replace + %20


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ку
СообщениеДобавлено: Вт, дек 13 2005, 19:26 
Гость
trop написал(а):
escape для url и для данных немного различаются,
в url escape пробел меняется на +
обычный escape делает %20, т.е. тебе нужен не escape_url, а аналог без _url

как-то так..
посмотрел, попробуй ESCAPE_HTML, хотя там только   и > всякие,
или после вызова escape_url вызывать replace + %20


1) вариант - не работает
2) а вот хочется без этого
3) unescape прекрасно %20 в пробел из url принимает.. эффект от + и от %20 одинаковый, что наводит на мысль о параметрах.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: re
СообщениеДобавлено: Вт, дек 13 2005, 19:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
http://computer.edu.ru/lib/jscript/refp_117.htm

можно попробовать escape из js воткнуть


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: re
СообщениеДобавлено: Ср, дек 14 2005, 10:34 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
Code:
report  zy_js
  no standard page heading
.


form
escape
  changing text
.

  data:
    l_js_processor type ref to cl_java_script,
    l_source type string.

  free: l_source.
  if l_js_processor is not bound.
    l_js_processor = cl_java_script=>create( ).
  endif.

  concatenate 'var l_source = escape("' text '");' into l_source.
"    separated by cl_abap_char_utilities=>cr_lf.
  l_js_processor->compile( script_name = 'dummy.JS' script = l_source ).

  if l_js_processor->last_condition_code <> 0.
    write: / 'Error in COMPILE', l_js_processor->last_error_message.
    exit.
  else.
"    write / 'JavaScript was compiled'.
  endif.

  l_js_processor->execute( script_name = 'dummy.JS' ).
  if l_js_processor->last_condition_code <> 0.
    write: / 'Error in EXECUTE',l_js_processor->last_error_message.
    exit.
  else.
"    write / 'JavaScript was executed'.
  endif.

" read the output variable
  text =
    l_js_processor->evaluate( java_script = 'l_source;' ).

endform.
" escape




load-of-program.

  sy-lisel = '3, 29'.
  perform escape changing sy-lisel.
  write : / sy-lisel.



"~~ ^z


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: re
СообщениеДобавлено: Ср, дек 14 2005, 11:36 
Гость
trop написал(а):
Code:
report  zy_js
  no standard page heading
.


form
escape
  changing text
.

  data:
    l_js_processor type ref to cl_java_script,
    l_source type string.

  free: l_source.
  if l_js_processor is not bound.
    l_js_processor = cl_java_script=>create( ).
  endif.

  concatenate 'var l_source = escape("' text '");' into l_source.
"    separated by cl_abap_char_utilities=>cr_lf.
  l_js_processor->compile( script_name = 'dummy.JS' script = l_source ).

  if l_js_processor->last_condition_code <> 0.
    write: / 'Error in COMPILE', l_js_processor->last_error_message.
    exit.
  else.
"    write / 'JavaScript was compiled'.
  endif.

  l_js_processor->execute( script_name = 'dummy.JS' ).
  if l_js_processor->last_condition_code <> 0.
    write: / 'Error in EXECUTE',l_js_processor->last_error_message.
    exit.
  else.
"    write / 'JavaScript was executed'.
  endif.

" read the output variable
  text =
    l_js_processor->evaluate( java_script = 'l_source;' ).

endform.
" escape




load-of-program.

  sy-lisel = '3, 29'.
  perform escape changing sy-lisel.
  write : / sy-lisel.



"~~ ^z


похоже на удаление гланд через зад :) проблему решил преобразовав всю строку в hex. и составив из полученного текстовую строку с символом % перед каждым hex символом. заодно появилась возможность и кодировку менять на лету.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: re
СообщениеДобавлено: Ср, дек 14 2005, 12:37 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
Anonymous написал(а):
похоже на удаление гланд через зад :) проблему решил преобразовав всю строку в hex. и составив из полученного текстовую строку с символом % перед каждым hex символом. заодно появилась возможность и кодировку менять на лету.


типа того.. кунг-фу :mrgreen:
mime64 экономичнее чем % encoding, если перед каждым hex символом вставлять %


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB