Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Залогинивание скриптом

Сообщения:  [1-7] 

 
 автор: mihdan   (26.10.2007 в 12:43)   письмо автору
 
   для: Quies   (26.10.2007 в 01:01)
 

curl

   
 
 автор: Quies   (26.10.2007 в 01:01)   письмо автору
 
   для: Quies   (25.10.2007 в 21:06)
 

Разобрался :)
Надо было, отпарсить приходящий ответ, и вытащить все переменные из Set-Cookie, потом склеить их разделяя "; " и всё что получилось послать, перед "Cookie:"

<?
fputs
($fp"Cookie:".$cookies);
?>

   
 
 автор: Quies   (25.10.2007 в 21:06)   письмо автору
 
   для: Quies   (25.10.2007 в 13:10)
 

Подскажите, что то не найти, на этом форуме тоже.
Про отсылку GET/POST запросов сокетами, много информации, а как cookie сокетами послать, не найти.
Я из того, кода выделил текст cookie:

$parr = explode("<!DOC", $b);

$cookie = $parr[0]; 

А, потом пробовал добавить строчку:

fputs($fp, "Cookie: ".$cookie."\r\n");

Но, не работает сookie не посылаются, или посылаются как то не так, скрипт не грузит залогининую страницу.

   
 
 автор: mihdan   (25.10.2007 в 13:54)   письмо автору
 
   для: Quies   (25.10.2007 в 13:10)
 

Ищи ответ тут на форуме, но мой тебе совет - используй cURL

   
 
 автор: Quies   (25.10.2007 в 13:10)   письмо автору
 
   для: cheops   (25.10.2007 в 12:15)
 

Да, в том скрипте выводятся сначало содержание cookie, а потом html код страницы:


HTTP/1.0 302 Found
Date: Thu, 25 Oct 2007 09:00:24 GMT
Server: Apache
Set-Cookie: uniq=PVtOF:1193302824:pgstats1:m0; expires=Monday, 24-Dec-2007 09:00:24 GMT; domain=.test1.ru; path=/
Set-Cookie: tmastersession=v1:u12732863:s46:aS8WifQLxtL//Thanks+for+signing+in+/+test1+loves+you+a+lot+/+Here+have+a+cookie; domain=www.test1.ru; path=/; HttpOnly
Set-Cookie: tloggedin=u1273286:s46; domain=test1.ru; path=/; HttpOnly
Set-Cookie: tloggedin=u1273286:s46; domain=.test1.ru; path=/; HttpOnly
Set-Cookie: BMLschemepref=lanzelot; domain=test1.ru; path=/; HttpOnly
Set-Cookie: BMLschemepref=lanzelot; domain=.test1.ru; path=/; HttpOnly
Set-Cookie: langpref=ru/119330282; domain=test1.ru; path=/; HttpOnly
Set-Cookie: langpref=ru/119330282; domain=.test1.ru; path=/; HttpOnly
Set-Cookie: tsession=v1:u12732863:s46:t1193302800:g3aae92217abb0ec36f543ce441ed198ba1 4e//Thanks+for+signing+in+/+test1+loves+you+a+lot+/+Here+have+a+cookie; domain=test1.ru; path=/; HttpOnly
Set-Cookie: tsession=v1:u12732863:s46:t1193302800:g3aae92217abb0ddc36f543ce441ed198ba 14e//Thanks+for+signing+in+/+test1+loves+you+a+lot+/+Here+have+a+cookie; domain=.test1.ru; path=/; HttpOnly
Location: http://test1.ru/
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>302 Found</TITLE>
</HEAD><BODY>
<H1>Found</H1>
The document has moved <A HREF="http://www.test1.ru/">here</A>.<P>
</BODY></HTML>



А, как переслать это cookie, при загрузки страницы? Я, просто пока, плохо разбираюсь в цокетах.. :-/

   
 
 автор: cheops   (25.10.2007 в 12:15)   письмо автору
 
   для: Quies   (25.10.2007 в 10:35)
 

Сервер какие-нибудь cookie присылает? Если да, их необходимо отправлять позже при каждом запросе к серверу, чтобы он знал, что вы авторизованы.

   
 
 автор: Quies   (25.10.2007 в 10:35)   письмо автору
 
 

Пишу скрипт, который автоматически вводит логин/пароль и грузит страницу за ними, но столкнулся с проблемой, после авторизации грузится страница 302 Found. Посмотрел коды ошибок, написано, что она возникает когда страница была перенаправлена, то есть использовался технический редирект. А, как мне перенаправить запрос ту даже, пробовал после процедуры авторизации просто перенаправлять header("Location: новый адрес"); , но грузилась просто страница, как будто авторизации и не было.
Для авторизации использовал следующий скрипт:


<?

function inquirypost($urlinfo,$data) {

$fp fsockopen($urlinfo['host'],80);
fputs($fp"POST ".$urlinfo['path']." HTTP/1.1\r\n");
fputs($fp"Host: ".$urlinfo['host']."\r\n");
fputs($fp"Content-Type: application/x-www-form-urlencoded\r\n");
fputs($fp"Content-length: " strlen($data) . "\r\n");
fputs($fp"Connection: close\r\n\r\n");
fputs($fp$data);

$buf "";

while (!
feof($fp))
      
$buf .= fgets($fp,128);

fclose($fp);

return 
$buf;

}

$urlinfo['path'] = "http://www.site.ru/login.php";

$urlinfo['host'] = "www.site.ru";

$data "user=test&password=test";

$b inquirypost($urlinfo,$data);

print_r($b);

?>

Как мне перенаправить на страницу, но чтоб быть уже залогининым?

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования