![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
При отправке запроса с помощью данного модуля, если крепить в контент(в форму) XML, до сервера XML доходит не в самом хорошем состоянии. Т.е. сам http - 200. Пробовал отправлять с помощью LWp::UserAgent - все гуд. Мож, кто сталкивался?? Мож проблема стандартная, и я чего-то недоделываю?? -------------------- менеджер по кодеврайтингу |
|||
|
||||
| KSURi |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
При использовании
по идее должна выскочить ошибка об odd number elements in hash assigment. Примерно так:
-------------------- Died at Life.pl line 21 |
||||
|
|||||
| tolkien |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: 4 Всего: 4 |
Конечно стандартная. Не понимание работы c http протоколом. И тут не важно какой модуль вы используете и что отправляете.
|
|||
|
||||
| Bulat |
|
||||||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
tolkien, Давай не будем громко кричать. Мне приходилось не только сайты и порталы, но и ботов писать. Так что что такое http-протокол я знаю не по наслышке. А от модуля многое зависит. То, что писал KSURi, проблему не решило, я уже и до так пытался.
tolkien, А для особо умных, ошибка не http, а в том, что контент на том конце приходит не верный. Немогу выложить полностью все, но вот часть
И вот в ответе приходит, что параметр внутри тега hash не верен, само содержание, текст, а не форма. Или если еще проще, я могу расписать как
или
или еще как, но это не решает проблему -------------------- менеджер по кодеврайтингу |
||||||
|
|||||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Т.е. на стороне сервера есть проверка формата входных данных? Может тогда стоит на нее обратить внимание?
Ну во всяком случае, возможно это является частью проблемы. Посмотрите сами: вы присваиваете хэшу одну переменную, хотя хэш должен иметь вид ключ=>значение. Т.е. получается, что ваш XML будет использоваться в кач-ве ключа, а в кач-ве его значения скорее всего будет undef. Из этого вытекает, что вы посылаете неверный POST запрос (я лично не работал с HTTP::Lite, но предполагаю, что метод prepare_post ждет на вход ссылку на хэш вида POST_param_name=>POST_param_value). Это сообщение отредактировал(а) KSURi - 14.7.2008, 12:35 -------------------- Died at Life.pl line 21 |
|||
|
||||
| tolkien |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: 4 Всего: 4 |
Bulat
Ну раз вы такой умный. Может сами додумаетесь через проксю послать запрос первый который у вас работает с помощью LWP и второй с помощью HTTP::Lite. И посмотреть в чем различие. |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
В том же пакете есть дополнительные методы, можно отловить все что отправляется, записать в файл(или на крайняк в STDOUT) и смотреть. Контент, так как я его крепил, тоже крепится куда надо. Вот я тоже с HTTP::Lite никогда не работал, а приходится
Не доступно. Все что у меня есть и все что могу просмотреть, это лишь моя сторона Млин..... Я не знаю где ты работаешь, может быть у вас там каждому всюду и везде есть доступ, у нас такого нет. И чтобы что-то проделать выходящее за рамки твоих полномочий(проще говоря на что есть права), нужно напрячь пару-тройку людей, и потратить не только свое но и их драгоценное время, а работы у всех хватает. А учитывая что результат есть, но иным методом, этим вообще никто заниматься не будет. Тем более я сомневаюсь, что это что-то даст. Если уж и смотреть, то на стороне сервера, в момент того, когда xml парсится, а это вообще не доступно -------------------- менеджер по кодеврайтингу |
|||
|
||||
| KSURi |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Bulat, не хочу показаться настырным, но все-таки в 3й раз обращу ваше внимание, на ИМХО неправильное составление запроса)
Пример из документации HTTP::Lite:
Обратите внимание, как задаются данные в хэше %vars и как они задаются у вас. Я все-таки не понимаю, как можно посылать значение вместо ключа и ожидать корректной обработки такой ситуации со стороны сервера... Для пущей убедительности поставил себе HTTP::Lite:
обратите внимание на ключ content и его значение -------------------- Died at Life.pl line 21 |
||||
|
|||||
| tolkien |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: 4 Всего: 4 |
Bulat
Вы так и не поняли. Дальше вашей машины смотреть ничего не надо. Может у вас нет полных прав на машине на которой вы прогамите? |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
Проблема заключается не в этом. -------------------- менеджер по кодеврайтингу |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Bulat, приведите код с LWP::UA, который успешно отрабатывает
-------------------- Died at Life.pl line 21 |
|||
|
||||
| Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 2 Всего: 34 |
Как там в пословице, один дурак 7 мудрецов в тупик поставить может (не ручаюсь за правильность цитаты), если человек не хочет понимать, что ему говорят, и считает, что он умнее всех, кто ему хочет помочь, то мне кажется, все усилия будут бессмысленны. |
|||
|
||||
| Bulat |
|
||||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
KSURi,
Откапал я лог, пару дней давности. Тогда еще не очень обратил внимание, очень интересно эскейпится сам xml, мои подозрения оправдываются Вот что делает с xml модуль HTTP::Lite, после того как крепишь его в контент
С LWP::UA XML остается в том же виде:
-------------------- менеджер по кодеврайтингу |
||||
|
|||||
| tolkien |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: 4 Всего: 4 |
Проблема скорее всего в том что в одном случаи у вас параметр запроса кодируются, в другом нет. Соотвественно на стороне сервера обрабатывается только один случай. Если LWP ничего не кодирует значит этот случаи и обрабатывает сервак. И тут как выше я писал дело не модулях, а в знании протокола http.
|
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
tolkien, мне надоело твое ничем не подкрепленное хваствоство. Если бы ты действительно знал о протоколе http, то ты должен был бы знать, что эскейпится должно в любом случае. Так как изначально, неизвестно что будет передаваться по протоколу. Возможно, это символы из кириллицы, возможно еще что-то. Нет такого - эскейпится, не эскейпится, есть только правильно эскейпится и не правильно эскейпится.
Ты бы побольше писал, а н е пустословил. -------------------- менеджер по кодеврайтингу |
|||
|
||||
| tolkien |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: 4 Всего: 4 |
Удачи! Мучайтесь дальше.
Это сообщение отредактировал(а) tolkien - 16.7.2008, 09:38 |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
ТЗ давно сделано, и я не мучаюсь. У меня уже куча новой срочной работы. Но я не забываю про вопросы которые появляются в ходе работы вообще и люблю выяснять причины, а они гораздо глубже и интереснее, чем голословные посты. -------------------- менеджер по кодеврайтингу |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Уважаемый Bulat, Ваши данные модифицируются из-за того, что в Content-Type указано application/x-www-form-urlencoded. Возможно серверу на другой стороне необходимо multipart/form-data, которое не реализовано в HTTP::Lite?
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
ginnie очень может быть, будет время, просмотрю этот момент отдельно
-------------------- менеджер по кодеврайтингу |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Bulat, если вы отправляли такой запрос с помощью LWP::UA не изменяя там Content-Type, то врядли это является проблемой.
-------------------- Died at Life.pl line 21 |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
В том-то и дело, что в LWP::UA я вообще ничего дополнительного не делал. Задал ссылку, прописал user-agent и прикрепил контент, и все заработало -------------------- менеджер по кодеврайтингу |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Ну значит LWP::UA научился определять какой enctype нужен удаленному серверу гыгы
-------------------- Died at Life.pl line 21 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |