![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 04.08.2008
Сообщений: 154
|
![]()
И так приступим:
есть прога код вот: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdCookieManager; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; IdHTTP1: TIdHTTP; IdCookieManager1: TIdCookieManager; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var S: TStringList; begin S:= TStringList.Create; S.Add('login=fdser'); S.Add('password=wq1234'); s.Add('button.x=24'); s.Add('button.y=10'); memo1.Text:=IdHTTP1.Post('http://www.ipweb.ru/cgi-bin/auth.cgi', S); memo1.lines.savetofile('c:\test.htm l'); end; end. но вот беда это скрипт http://www.ipweb.ru/cgi-bin/auth.cgi требует Cookie если браузер делает вот такой запрос POST /cgi-bin/auth.cgi HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */* Referer: http://www.ipweb.ru/ Accept-Language: ru Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Host: www.ipweb.ru Content-Length: 49 Connection: Keep-Alive Cache-Control: no-cache Cookie: login=fdser; hotlog=1 login=fdser&password=wq1234&button. x=27&button.y=8 вот эта Request Я выставил в свойствах idhttp1: Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */* Referer: http://www.ipweb.ru/ Accept-Language: ru Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Host: www.ipweb.ru Content-Length: 49 Connection: Keep-Alive Cache-Control: no-cache теперь мне надо прикрутить Cookie вот эти Cookie: login=fdser; hotlog=1 Как это сделать Зыы IdCookieManager1 я прикрутил к проге! Вот нашёл код для : Пример демонстрирует создание cookie посредствам стандартного компонента Delphi procedure TwebDispatcher.WebAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); begin with (Response.Cookies.Add) do begin Name := 'TESTNAME'; Value := 'TESTVALUE'; Secure := False; Expires := Now; Response.Cookies.WebResponse.SendRe sponse; end; end; только не могу в нём разобраться ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 04.08.2008
Сообщений: 154
|
![]()
c Cookie разобрался но вот проблема когда сервер посылает мне ответ вот такой:
HTTP/1.1 302 Found Date: Tue, 19 Aug 2008 20:41:58 GMT Server: Apache/1.3.36 (Unix) PHP/4.4.2 mod_ssl/2.8.27 OpenSSL/0.9.8a Set-Cookie: session=4z1qJxFV3aBCELf; domain=ipweb.ru; path=/ Set-Cookie: login=fdser; domain=ipweb.ru; path=/; expires=Wed, 19-Aug-2009 20:41:58 GMT Location: http://www.ipweb.ru/cgi-bin/main.cgi Keep-Alive: timeout=20, max=50 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/plain проблема в этом session=4z1qJxFV3aBCELf нужно эту переменую добавить в Cookie если учесть что приподключение эта переменая меняеться ![]() |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
а посомтреть методы менеджера куков ? там совершенно спокойно можно добавить свою куку
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 04.08.2008
Сообщений: 154
|
![]()
IdCookieManager1 если вы имеете ввиду в свойствах
onCreate onDestroy onNewCookie Вот правильный запрос для авторизации POST /cgi-bin/auth.cgi HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */* Referer: http://www.ipweb.ru/ Accept-Language: ru Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Host: www.ipweb.ru Content-Length: 49 Connection: Keep-Alive Cache-Control: no-cache Cookie: login=fdser; hotlog=1 login=fdser&password=wq1234&button. x=27&button.y=8 Ответ сервера HTTP/1.1 302 Found Date: Tue, 19 Aug 2008 20:41:58 GMT Server: Apache/1.3.36 (Unix) PHP/4.4.2 mod_ssl/2.8.27 OpenSSL/0.9.8a Set-Cookie: session=4z1qJxFV3aBCELf; domain=ipweb.ru; path=/ Set-Cookie: login=fdser; domain=ipweb.ru; path=/; expires=Wed, 19-Aug-2009 20:41:58 GMT Location: http://www.ipweb.ru/cgi-bin/main.cgi Keep-Alive: timeout=20, max=50 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/plain Переход GET /cgi-bin/main.cgi HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */* Referer: http://www.ipweb.ru/ Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Host: www.ipweb.ru Connection: Keep-Alive Cache-Control: no-cache Cookie: login=fdser; session=4z1qJxFV3aBCELf; hotlog=1 А теперь вот что посылает моя программа POST /cgi-bin/auth.cgi HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */* Referer: http://www.ipweb.ru/ Accept-Language: ru Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Host: www.ipweb.ru Content-Length: 49 Connection: Keep-Alive Cache-Control: no-cache Cookie: login=fdser; hotlog=1 login=fdser&password=wq1234&button. x=27&button.y=8 Ответ сервера HTTP/1.1 302 Found Date: Tue, 19 Aug 2008 20:41:58 GMT Server: Apache/1.3.36 (Unix) PHP/4.4.2 mod_ssl/2.8.27 OpenSSL/0.9.8a Set-Cookie: session=4z1qJxFV3aBCELf; domain=ipweb.ru; path=/ Set-Cookie: login=fdser; domain=ipweb.ru; path=/; expires=Wed, 19-Aug-2009 20:41:58 GMT Location: http://www.ipweb.ru/cgi-bin/main.cgi Keep-Alive: timeout=20, max=50 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/plain переход POST /cgi-bin/main.cgi HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */* Referer: http://www.ipweb.ru/ Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Host: www.ipweb.ru Connection: Keep-Alive Cache-Control: no-cache Cookie: login=fdser; hotlog=1 чё я не так делаю |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]() Цитата:
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 04.08.2008
Сообщений: 154
|
![]()
А где тогда методы IdCookieManager1?
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Cookie ошибка | N!ckeL | PHP | 10 | 13.08.2008 17:52 |
Необходимо установить Cookie | Никки | JavaScript, Ajax | 1 | 09.03.2008 02:17 |
Проблема. | kupulau | Общие вопросы C/C++ | 19 | 05.02.2008 21:11 |
проблема с URL | Scorpeon | Помощь студентам | 1 | 18.06.2007 13:28 |