 
			
				22.11.2010, 16:17
			
			
			
		  
	 | 
	
		
		
		
			
			| 
			
				
				
				 Начинающий 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 05.10.2010 
					
					
					Сообщения: 112
 
				
					Репутация: 1227 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
				 
				idHTTP...
			 
			 
			
		
		
		
		Торможу уже три часа.  
При обращении к сайту по адресу  http://www.site.ru/auth/login/?auths...sword=PASSWORD
идёт авторизация. 
 
Сниффером проверил - больше ничего не передаётся. Куки естественно ставятся.
 
Ну вот почему не могу авторизоваться?    
	Код: 
	var data:tstringlist;
      PageProfile:string;
      error:boolean;
begin
 IdHTTP1.AllowCookies:=true;
 IdHTTP1.HandleRedirects:=true;
 data:=tstringlist.create;
 data.Add('authsave=1');
 data.Add('login=LOGIN');
 data.Add('password=PASSWORD');
 //http://www.site.ru/auth/login/?authsave=1&login=LOGIN&password=PASSWORD
 error:=false;
 try
  PageProfile:=IdHTTP1.Post('http://www.site.ru/auth/login/', data);
  Memo1.Lines.Add(PageProfile);
 except
  error:=true;
 end; 
 
Плюнул на Delphi - достал любимый PHP:
 
	PHP код: 
	
		
		
			
$url = "http://www.site.ru/auth/login/"; //УРЛ, куда отправлять данные
  $login = 'LOGIN'; //Логин
  $password = 'PASSWORD'; //Пароль
  $user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/cookies.txt'; //Полный путь до файла, где будем хранить куки
  $authsave = '1'; //
  $in = 'Вход'; //Кнопка входа
 
 
  function auth($url) {
         global $login, $pasword, $authsave, $user_cookie_file, $in; // Получаем все POST данные
 
         $ch = curl_init($url);
         curl_setopt($ch, CURLOPT_URL,$url);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
         curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
 
 
         curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Куки раз
         curl_setopt($ch, CURLOPT_COOKIEJAR,  $user_cookie_file); //Куки два
 
 
         curl_setopt($ch, CURLOPT_POST,1); //Будем отправлять POST запрос
 
 
  /*
  Формируем и отправляем тот самый POST запрос.
  Как видите, это простая строка, мало чем отличающаяся от GET.
  */
         curl_setopt($ch, CURLOPT_POSTFIELDS,"login=$login&password=$password&authsave=1&submit=$in");
         $html = curl_exec($ch);
         curl_close($ch);
         return $html; //
  }
 
 
 auth($url); // Авторизируемся.
 
  function browser($url) {
         $user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/cookies.txt'; //Получаем сохраненный после авторизации файл с куками.
         $ch = curl_init($url);
         curl_setopt($ch, CURLOPT_URL,$url);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
         curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
         curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Подставляем куки раз
         curl_setopt($ch, CURLOPT_COOKIEJAR,  $user_cookie_file); //Подставляем куки два
         $html = curl_exec($ch);
         curl_close($ch);
         return $html; //Возвращаем ответ
  } 
 
		 
		
	 
 
Авторизация проходит на ура. Я уже не знаю, где может быть ошибка. Гляньте пожалуйста свежим глазом.    
		
	
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
		 
		
	
	
	 |