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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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