Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Метод POST, Нада передовать скрипту на сервере данны 
:(
    Опции темы
p0s0l
Дата 9.11.2004, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



ЗЫ:
классификация хттп-ошибок:
Цитата
1ХХ - Информационное.Запрос принят, процесс продолжается.
2ХХ - Успех.Сообщение было успешно принято.
3ХХ - Перенаправление. Для завершения запроса необходимо произвести ряд действий.
4ХХ - Ошибка клиента. Запрос содержит синтаксическую ошибку и не может быть удовлетворен.
5ХХ - Ошибка сервера. Сервер не может выполнить внешний корректный запрос.


Цитата
HTTP Error 302 - Moved temporarily
Introduction


Your Web server thinks that your URL has been temporarily redirected to another URL. The client system is expected to immediately retry the alternate URL.

302 errors in the HTTP cycle

Any client (e.g. your Web browser or our CheckUpDown robot) goes through the following cycle when it communicates with your Web server:
* Obtain an IP address from the IP name of your site (your site URL without the leading 'http://'). This lookup (conversion of IP name to IP address) is provided by domain name servers (DNSs).
* Open an IP socket connection to that IP address.
* Write an HTTP data stream through that socket.
* Receive an HTTP data stream back from your Web server in response. This data stream contains status codes whose values are determined by the HTTP protocol. Parse this data stream for status codes and other useful information.

This error occurs in the final step above when the client receives an HTTP status code that it recognises as '302'.

Resolving 302 errors - general

The 302 response from your Web server should always include an alternative URL to which redirection should occur. If it does, a Web browser will immediately retry the alternative URL. So you never actually see a 302 error in a Web browser, unless perhaps you have a corrupt redirection chain e.g. URL A redirects to URL B which in turn redirects back to URL A. If your client is not a Web browser, it should behave in the same way as a Web browser i.e. immediately retry the alternative URL.

If the Web server does not return an alternative URL with the 302 response, then either the Web server sofware itself is defective or your Webmaster has not set up the URL redirection correctly.




--------------------
С уважением, г-н Посол.
PM   Вверх
Zlo
Дата 9.11.2004, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.9.2004

Репутация: нет
Всего: 1



p0s0l
Сылка которую я дал

http://www.nef.ru/phpBB2/profile.php?mode=...ter&agreed=true

это ссылка на форму которую нужно передать скрипту
передается форма методом пост
передается скрипту

http://www.nef.ru/phpBB2/profile.php

Кстати когда я разрешил редирект то ошибка пропала smile
Но чего-то всеравно неудается провести регистрацию smile
Я щас посмотрю может чего с параметрами напутал
PM MAIL   Вверх
Guest
Дата 9.11.2004, 19:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну теперь другая проблема! smile
Пост посылается но некакой регитрации не происходит smile
Просто перекидывает на главную страницу и фсе
Чего за чертовщина?
  Вверх
p0s0l
Дата 9.11.2004, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



К сожалению, в PHP я не особо шарю, но, насколько я знаю, есть такое понятие "сессия". И в параметрах запроса нужно указывать ID текущей сессии. Если ты там пишешь ID какой-то старой сессии (например, списал запрос, который твой IE посылает серверу, и вручную потом этот запрос 1:1 посылаешь), то у тебя будет облом...
Т.е. по-нормальному, надо:
1) зайти, на страницу регистрации (сделать IdHTTP1.Get('http://www.nef.ru/phpBB2/profile.php?mode=register&agreed=true')
2) в результате получишь SID (его можно получить из html, который получаешь с помощью IdHTTP1.Get)
Можешь получить его так:
Ищешь подстроку: <form action="profile.php?
Далее после неё сразу же идёт типа такого:
sid=38ed0bbb49f900a798524b211055a1fb" method="post">
Отсюда SID получай...
3) Теперь уже посылай запрос с заполненной формой и с указанием в параметрах этого SID'а


--------------------
С уважением, г-н Посол.
PM   Вверх
Zlo
Дата 9.11.2004, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.9.2004

Репутация: нет
Всего: 1



Спасибо про ид я знаю! smile

Посмотри программу Mini-Browser очень классная вещь, скачать можно на web-hack.ru (это не реклама просто ссылку на файл не могу дать smile )
позволяет смотреть каким методом и куда посылыются данные

Вот эта прога и показывает мне
вот такой адрес
куды посылать данные
http://www.nef.ru/phpBB2/profile.php?sid=3...b4a13d7b99e574d
я пишу в проге так
Memo3.Lines.Text:=idHTTP1.Post('http://www.nef.ru/phpBB2/profile.php?sid='+sid,s);
sid - я его доэтого выкарчевываю из страници
и всеравно некакой регистрации не происходит smile((
просто перекидывает на главную страницу
вот немогу понять, че такое???
PM MAIL   Вверх
p0s0l
Дата 10.11.2004, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



Вот так всё работает...
Код
procedure TForm1.Button1Click(Sender: TObject);
const
 tofind = '<form action="profile.php?sid=';

var
 s, sid, url : string;
 p : integer;
 sl : TStringList;
begin
 Memo1.Text := IdHTTP1.Get('http://www.nef.ru/phpBB2/profile.php?mode=register&agreed=true');

 s := AnsiLowerCase(Memo1.Text);
 Delete (s, 1, Pos(tofind, s) + Length(tofind)-1);
 sid := copy(s, 1, pos('"', s)-1);

 url := 'http://www.nef.ru/phpBB2/profile.php?sid=' + sid;
 sl := TStringList.Create;
 sl.Add('username=Posol5');
 sl.Add('[email protected]');
 sl.Add('new_password=abcdefg45');
 sl.Add('password_confirm=abcdefg45');
 sl.Add('icq=');
 sl.Add('aim=');
 sl.Add('msn=');
 sl.Add('yim=');
 sl.Add('website=');
 sl.Add('location=');
 sl.Add('occupation=');
 sl.Add('interests=');
 sl.Add('signature=Подпись');
 sl.Add('viewemail=0');
 sl.Add('hideonline=0');
 sl.Add('notifyreply=0');
 sl.Add('notifypm=1');
 sl.Add('popup_pm=1');
 sl.Add('attachsig=1');
 sl.Add('allowbbcode=1');
 sl.Add('allowhtml=0');
 sl.Add('allowsmilies=1');
 sl.Add('language=russian');
 sl.Add('style=subSilver');
 sl.Add('timezone=3');
 sl.Add('datefromat=D M d, Y g:i a');
 sl.Add('mode=register');
 sl.Add('agreed=true');
 sl.Add('coppa=0');
 sl.Add('submit=submit');
 Memo2.Text := IdHTTP1.Post(url, sl);
 sl.Free;
 memo2.Lines.savetofile('c:\111.html');
end;



--------------------
С уважением, г-н Посол.
PM   Вверх
Zlo
Дата 10.11.2004, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.9.2004

Репутация: нет
Всего: 1



p0s0l
Скланяю голову!
Респект тебе и все такое.
Я понял в чем ошибка, спасибо тебе p0s0l!!!!
PM MAIL   Вверх
p0s0l
Дата 10.11.2004, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



Цитата(Zlo @ 10.11.2004, 02:52)
Я понял в чем ошибка,
И в чём она была ? Мне ведь интересно smile



--------------------
С уважением, г-н Посол.
PM   Вверх
_hunter
Дата 10.11.2004, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



скорее всего в этом:
Цитата
sid - я его доэтого выкарчевываю из страници

и непонимании этого:
Цитата
И в параметрах запроса нужно указывать ID текущей сессии. Если ты там пишешь ID какой-то старой сессии (например, списал запрос, который твой IE посылает серверу, и вручную потом этот запрос 1:1 посылаешь), то у тебя будет облом...


Это сообщение отредактировал(а) _hunter - 10.11.2004, 15:15


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Zlo
Дата 10.11.2004, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.9.2004

Репутация: нет
Всего: 1



_hunter

Цитата(_hunter @ 10.11.2004, 15:15)
скорее всего в этом:
Цитата
sid - я его доэтого выкарчевываю из страници

и непонимании этого:
Цитата
И в параметрах запроса нужно указывать ID текущей сессии. Если ты там пишешь ID какой-то старой сессии (например, списал запрос, который твой IE посылает серверу, и вручную потом этот запрос 1:1 посылаешь), то у тебя будет облом...


нет не в этом, про сид я знал ссамого начала как прогу начал делать!

недоглядел я с параметрами немнжко smile
и со значением параметров smile


p0s0l
вот так помоему писать нельзя
Код

sl.Add('signature=Подпись');


Потому как русские буквы должны преобразовываться в какойто там вид....smile
Вот в 6 дельфи для этого был компонент NMURL с закладки FastNet
может в 7 версии найдется замена?
PM MAIL   Вверх
p0s0l
Дата 10.11.2004, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



Можно так:
Код
Uses IdURI;
...
sl.Add ('signature=' + TIdURI.ParamsEncode('Подпись'));





--------------------
С уважением, г-н Посол.
PM   Вверх
_hunter
Дата 11.11.2004, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



куда-то перекодируется...
ты приведи тлгда пример оригинальной подписи ( чтоб определить куда оно кодируется )
( есть подозрение что в Base64 -- тогда тот же Indy ( а именно IdBase64Encoder ) поможет )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
fuckerok
Дата 15.11.2004, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 30.3.2004
Где: спб

Репутация: нет
Всего: нет



Люди у меня такая пробелма не хочет форму посылать на сервер в интернете ошибку выдаёт smile
я вот хочу делать так
Код

........
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to 20 do
begin
Memo1.Text :=   IdHTTP1.get ('http://oldchat.mail.ru/start.html?nick=test'+IntToStr(i)+'&color=#000000&textcolor=#000000&channel=13-18&tema=');
 sleep(3000);
end;
end;
.........

И мне ошибку выдаёт.
И в HTTPLOG никаких обращений
А если делаю для локального сервера, то всё работает
Вот например
Код

...........
Memo1.Text :=   IdHTTP1.get ('http://localhost/form.php?nick=test'+IntToStr(i)+'&color=#000000&textcolor=#000000&channel=13-18&tema=');
.......

В этом случае всё работает, прожек посылает 20 запросов серверу (видно по http логам)
Помогите разобраться. В чём проблема? smile

Это сообщение отредактировал(а) fuckerok - 16.11.2004, 07:16
--------------------
PM MAIL ICQ   Вверх
p0s0l
Дата 15.11.2004, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



Цитата(fuckerok @ 15.11.2004, 08:54)
И мне ошибку выдаёт.
Какую ошибку ?
Цитата
'+i+'&
Надо вместо i писать IntToStr(i)...

PS: и у меня нормально твой запрос на oldchat.mail.ru отправился...
Правда написали, что доступ для моего IP закрыт из-за флуда smile



--------------------
С уважением, г-н Посол.
PM   Вверх
fuckerok
Дата 16.11.2004, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 30.3.2004
Где: спб

Репутация: нет
Всего: нет



p0s0l
Сам не пойму была ошибка, запрсов не было smile
Наверно руки кривые smile
Единственное, что отлечалось у меня был другой провайдер, я тестировал на PTN. Сейчас у меня обычный провайдер и всё работает, никаких ошибок.
Цитата
Надо вместо i писать IntToStr(i)...

Это я от руки добросал, ошибка точно не из-за этого была, в коде у меня правильно написанно, да и не скомпилилось бы она так, как я вначале написал.
Цитата
Правда написали, что доступ для моего IP закрыт из-за флуда

Надеюсь ты не обидишся на меня за то что не сможешь какое-то время посидеть в детском чате smile , ну если тебе невтерпёж, то я могу написать как блоки обойти smile хотя ты и сам лудше меня знаешь как это делаеться smile
--------------------
PM MAIL ICQ   Вверх
Страницы: (5) Все 1 2 [3] 4 5 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1360 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.