Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > javascript и питон


Автор: kulibinka 3.3.2007, 22:38
При работе в вебе со страницами, где есть вставки яваскрипта, я обычно сохраняю страницу, "подправляю" ее ручками так, чтобы в результате получился тот код, который яваскрипт собирался сгенерить, ну и работаю уже с этой страничкой.

НО!
Так получалось ровно до того момента, пока я не нарвался на страничку, в которой отправка формы сделана так:

Код

<form action="/action" onsubmit="big_java_function(); return false;" method="POST">


, причем big_java_function() лежит в подключаемом выше файле
Код

<script type="text/javascript" src="file_with_java.js"></script>
.

И этот file_with_java.js размером 200 кб, и на глаз ну никак не подобрать что же должна была делать наша big_java_function().


А без этой ф-ии сервер выдает 500 ошибку (невозможно выполнить запрос).
Как заставить яваскрипт выполниться перед отправкой формы для того чтобы эта дикая форма стала рабочей?

Автор: Sardar 4.3.2007, 15:02
Мне сложно представить на сколько галимым должны быть JS скрипты, что бы с таким рвением от них избавляться smile
Функция вероятней всего валидирует форму, подсказывая пользователю что он не заполнил или заполнил не правильно. Вызвать 5хх из-за JS не возможно, т.к. с сервером не соприкасается никак.

В особо извращённых случаях JS может собирать инфу с формы и формировать другую, с полностью переработанными значениями. Скрипты на сервере могут поругаться и отправить 5хх в таком случае (многие забывают это и ошибка уходит как 2хх). Убедись что питоновский скрипт точно не отрабатывает (значит лажа уже в самом сервере). Проверять лучше на apache + mod_python.

Выложи .js, посмотрим.

Автор: kulibinka 5.3.2007, 03:31
Вот пример сохраненной странички с формой: http://realnewlogin.ho.com.ua/js/100_temp.html
Вот файл с кодом, который она использует http://realnewlogin.ho.com.ua/js/87065864-widget-config.js (в коде с формой видно, это я сохранил в случае если этот код каждый раз перегенеривается заново).

Так вот, при правильных кукиксах эта форма запущенная вручную отлично работает, а при попытке послать ее из питона вываливается 500 ошибка.
Если из формы 

Код

<form action="http://www2.blogger.com/widget?blogID=1126594635964680272" onsubmit="_LabelConfig._Configure(); return false;" ....


убрать onsubmit="_LabelConfig._Configure(); return false;"  то получаем ту же ошибку.

Вооот...

Добавлено @ 03:32 
Все усугубляется тем, что я знаю яваскрипт как язык только интуитивно - только потому что он очень похож на питон smile

Автор: Sardar 5.3.2007, 04:27
После обфускатора редко кто пойдёт копать скрипты дальше smile
Вместо того что бы разбираться с кодом лучше прослушай траф между браузером и сервером. Я так понял ты гугловым (блоггерным) сервисом из своей проги пользоваться хочешь, поищи, может у них публичное описание API есть.

Добавлено @ 04:29 
К примеру http://code.google.com/apis/blogger/overview.html не то что нужно?

Автор: kulibinka 5.3.2007, 13:49
немножко не то - через ихнее апи можно только постить, а изменять настройки блога и закачивать посты с картинками через апи нельзя.

а подскажите пожалуйста насчет прослушать траф между браузером и сервером - с помощью чего и как это делается?

Автор: _Viper_ 5.3.2007, 13:53
kulibinka, HttpAnalyzer.

Автор: kulibinka 5.3.2007, 21:27
Наука от Sardar и инструмент от _Viper_ сделали свое дело smile
Sardar, _Viper_ - огромное спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)