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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: stream_context_create отправить куки
 
 автор: sl1p   (30.05.2011 в 05:04)   письмо автору
 
 

скажите правильно ли будет так отправить куки с помощью fopen()?

<? //$opts ?>
Array
(
    [http] => Array
        (
            [method] => GET
            [header] => Accept-language: en
Referer: http://google.com/
Cookie: visitSourceUrl=http%253A%252F%252Fgoogle.com%252F; lang=en; role=premium; PHPSESSID=uvcjr8f2lnqnfd701v95p0bjp7; rememberMe=1; email=b1521696%2540klzlk.com; nickname=fs_grab; isAffiliate=deleted
        )

)


<?
fopen
($filepath'rb'falsestream_context_create($opts));

  Ответить  
 
 автор: sl1p   (30.05.2011 в 06:23)   письмо автору
 
   для: sl1p   (30.05.2011 в 05:04)
 

эх:(

сижу просто мозг рвется на куски:))

почемуто сервер не кушает эти данные.. и грубо меня посылает=(

  Ответить  
 
 автор: cheops   (30.05.2011 в 11:49)   письмо автору
 
   для: sl1p   (30.05.2011 в 05:04)
 

Вероятно да, а такая cookie реально устанавливалась? Т.е. ей соответствует живая сессия на сервере?

  Ответить  
 
 автор: sl1p   (30.05.2011 в 14:13)   письмо автору
 
   для: cheops   (30.05.2011 в 11:49)
 

да=( если те же самые куки отправлять через курл заголовком всё ок(

а таким образом почемуто не работает... почему?:(
очень необходимо открыть страницу в режиме 'rb' но без куки будет не то что надо(

  Ответить  
 
 автор: cheops   (30.05.2011 в 14:23)   письмо автору
 
   для: sl1p   (30.05.2011 в 14:13)
 

Попробуйте еще пользовательский агент переопределить, очень часто fopen() подставляет в качестве пользовательского агента что-то вроде PHP 5.3. Лучше вообще сначала обратиться при помощи fopen() к своему скрипту-ловушке и посмотреть, какие передаются HTTP-заголовки. Тоже самое сделать при помощи CURL - возможно что-то еще обнаружите.

  Ответить  
 
 автор: sl1p   (30.05.2011 в 15:27)   письмо автору
 
   для: cheops   (30.05.2011 в 14:23)
 

с юзер агентом пробовал.. даже сделал всё максимально похожим на запросы одним и тем же клиентом, юзер агент тот который юзался курлом при логировании(выдирании кук) мало ли там сид генерится с учетом этого..

а каким образом просмотреть заголовки от fopen()?

пробовал
$fd = fopen(...);
print_r(stream_get_meta_data($fd));
но в заголовках пусто.. хотя сам контент приходит( не тот что надо правда)
.........

такую штуку посылает курл при обращении к урлу.

GET /download/1040388521/4de37e59/3e0311a9/b3a0e3/2/4dde8417/0/3961458f5b205ac6bacd934200411451200 c16c6 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MyIE2; Maxthon)
Host: s182.filesonic.com
Accept: */*
Referer: http://google.com/
Cookie: visitSourceUrl=http%3A%2F%2Fgoogle.com%2F; lang=en; role=premium; PHPSESSID=s01dso4tvfsotbdlpf6j619n03; rememberMe=1; email=b1521696%40klzlk.com; nickname=fs_grab; isAffiliate=deleted
ну и собственно получает то что надо(файл)

а от fopen приходит лишь кастомная ошибка о том что в ссылке файла не правильный хеш(собственно не установлены куки с сессией)

  Ответить  
 
 автор: cheops   (30.05.2011 в 17:00)   письмо автору
 
   для: sl1p   (30.05.2011 в 15:27)
 

>а каким образом просмотреть заголовки от fopen()?
Обратиться к своему скрипту, который прочитает их и выдаст обратно в ответе.

  Ответить  
 
 автор: sl1p   (30.05.2011 в 19:22)   письмо автору
 
   для: cheops   (30.05.2011 в 17:00)
 

ну дык я так и делаю какбе)

призодит только body ответа.. а получить заголовки способом которым я указал выше почемуто не получается.

  Ответить  
 
 автор: sl1p   (05.06.2011 в 15:02)   письмо автору
 
   для: sl1p   (30.05.2011 в 19:22)
 

оказалось что в пхп 5.2.* баг с этим делом, стрим не отправляет заголовков и если не прочитать хотябы один байт ответа то и не возвращает заголовков от ресурса.

чтобы отправить - заглушка которую нужно юзнуть перед конектом к ресурсу.

<?
if(version_compare(PHP_VERSION'5.3.0') == -1){
    
ini_set('user_agent''PHP-SOAP/' PHP_VERSION "\r\n" $headers);
}
// где $headers собственно строка с заголовками


возможно комуто будет полезно

  Ответить  
Rambler's Top100
вверх

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