| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > На сайт отправляет 41 байт вместо 40! |
| Автор: ЧеловекБорща 17.1.2011, 21:12 | ||
| Всем привет! Проблема: Есть сайт(моего интернет провайдера). Пишу программу логина на этот сайт, воружился сниффером и delphi 7. Браузер посылает на сайт 3 параметра:
сниферром смотрю что посылает браузер и программа: Бразер отправлет POS-данные: 1. __click=0 2. FullName=12345 3. Password=abcdef соответственно вот так: __Click=0&FullName=12345&Password=abcdef 40 байт. Авторризация проходит нормально. Те же данные посылаются и моей программой: 1. __click=0 2. FullName=12345 3. Password=abcdef 4. //пустое поле А вот тут так: __Click=0&FullName=12345&Password=abcdef& Где & и есть 4 поле, из-за которого нет ни авторизации и ошибка: Internal Server Error Длинна 41 байт. Даннае посылаются одинаковые однако indy приписывает & в конец. Как и чем это лечится? |
| Автор: MetalFan 17.1.2011, 21:56 |
| используй TIdMultipartFormData вместо StringListа, или проверь, что используется крайняя версия indy |
| Автор: ЧеловекБорща 17.1.2011, 22:36 | ||
Вот delphi 2010(поставил) :
та же ошибка 504 internal server error |
| Автор: Mifody 18.1.2011, 01:02 |
| Мнда, никогда не любил эти Инди, и уж точно никогда к ним не вернусь Итак: 1. в отладчике Request.Text = '__Click=0'#$D#$A'FullName=12345'#$D#$A'Password=abcdef'#$D#$A х/з, с какого перепуга Делфя поставила в конце пустую строку, причем обрезать не получается :( 2. Инди уперто воспринимает пустую строку как строку с данными. 3. TIdMultiPartFormDataStream - это случайно не для "multipart/form-data" ???? Вообщем помнится, я в свое время суток трое бился с такой проблемой, ничерта не получилось :(, в результате отказался вообще от индей. UPD: Кстати, поставьте кукис менеджер и сделайте обработку редиректа (перекройте на метод 'GET'), а то у меня из-за не правильных (ведь логин/пароль от балды) в циклический редирект инди ушла. |
| Автор: ЧеловекБорща 18.1.2011, 01:46 |
| Кукисы включены редирект тоже, но и эффект не меняется GET запрос сайт не воспринимает, только POST, кукисов сайт тоже не держит. P.S. а что тогда использовать? Можете если не сложно пооветовать алтернативу? |
| Автор: Keeper89 18.1.2011, 03:02 |
| http://www.ararat.cz/synapse Примеры: http://www.webdelphi.ru/2010/05/synapse-avtorizaciya-v-wordpress-bloge/ http://www.webdelphi.ru/2009/12/avtorizaciya-na-sajte-posting-novostej-bloga/ |
| Автор: Mifody 18.1.2011, 10:17 |
| Еще говорят Overbyte ICS компоненты весьма не плохие, но не знаю, сам не юзал. Точнее мне как-то не понравилась их логика. А вообще Keeper89 верно посоветовал, synapse очень даже не плохие. Конечно и у них нарыался уже на одну недоработку (даже и багом ее не назовеш), ну и не такие удобные как Indy. Но я еще не натыкался на ситуацию, когда синапс не мог работать с сайтом, все проблемы были из-за кривых рук при написаниии кода Единственное что может напрячь, перед каждым запросом заголовок надо заново формировать и документ очищать (если данные нет необходимости отправлять) |