Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2008, 23:38   #1
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
По умолчанию Проблема с Cookie

И так приступим:
есть прога код вот:
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;
только не могу в нём разобраться
eldar вне форума Ответить с цитированием
Старый 21.08.2008, 00:44   #2
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 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 если учесть что приподключение эта переменая меняеться
eldar вне форума Ответить с цитированием
Старый 21.08.2008, 08:45   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

а посомтреть методы менеджера куков ? там совершенно спокойно можно добавить свою куку
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 21.08.2008, 12:58   #4
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 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

чё я не так делаю
eldar вне форума Ответить с цитированием
Старый 21.08.2008, 13:21   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
onCreate
onDestroy
onNewCookie
это не методы. МОжет сначала подучить матчасть для уверенности ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 21.08.2008, 13:27   #6
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
По умолчанию

А где тогда методы IdCookieManager1?
eldar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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