Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

10.05.2009, 23:49
|
|
Новичок
Регистрация: 03.05.2009
Сообщений: 19
Провел на форуме: 53130
Репутация:
0
|
|
CURL хедеры в картинке
Мне нужно получить картинку и вместе с ней id php-сессиии (из приходящего Set-cookie хедера) в одном запросе. Чтобы получить id сессии надо включить curl_setopt($ch, CURLOPT_HEADER, 1); , но тогда хедеры смешаются с картинкой и return $ss; не возвратит чистую картинку. Можно конечно отделить хедеры от картинки вручную, но это муторно (или нет?). Есть какой-нибудь простой способ, чтобы прочитать хедеры и вывести чистую картинку?
PHP код:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
$headers[] = $ua;
$headers[] = 'Accept:image/png,image/*;q=0.8,*/*;q=0.5';
$headers[] = 'Accept-Language:ru,en-us;q=0.7,en;q=0.3';
$headers[] = 'Accept-Encoding:gzip,deflate';
$headers[] = 'Accept-Charset:windows-1251,utf-8;q=0.7,*;q=0.7';
$headers[] = 'Keep-Alive:300';
$headers[] = 'Proxy-Connection:keep-alive';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$ss=curl_exec($ch);
curl_close($ch);
$sessid=substr($ss, strpos($ss, "PHPSESSID=")+10, 26);
if ($sessid) echo "Session ID: $sessid<br>";
return $ss;
Последний раз редактировалось alex.k12; 11.05.2009 в 00:39..
|
|
|

11.05.2009, 09:42
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
alex.k12
PHP код:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
$headers[] = $ua;
$headers[] = 'Accept:image/png,image/*;q=0.8,*/*;q=0.5';
$headers[] = 'Accept-Language:ru,en-us;q=0.7,en;q=0.3';
$headers[] = 'Accept-Encoding:gzip,deflate';
$headers[] = 'Accept-Charset:windows-1251,utf-8;q=0.7,*;q=0.7';
$headers[] = 'Keep-Alive:300';
$headers[] = 'Proxy-Connection:keep-alive';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$ss=curl_exec($ch);
curl_close($ch);
$sessid=substr($ss, strpos($ss, "PHPSESSID=")+10, 26);
if ($sessid) echo "Session ID: $sessid<br>";
list(,$out) = explode("\r\n\r\n", $ss, 2);
return $out;
Последний раз редактировалось Gifts; 11.05.2009 в 09:44..
|
|
|

11.05.2009, 13:02
|
|
Новичок
Регистрация: 03.05.2009
Сообщений: 19
Провел на форуме: 53130
Репутация:
0
|
|
Спасибо, работает замечательно.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|