curl с подачей заголовков, баг?!

whirlwind

TDD infected, paranoid
curl с подачей заголовков, баг?!

Задача: перенаправить запрос с несколько видоизмененными клиентскими заголовками, в частности с новым referer-ом. Для выполнения запроса используется curl. Новые заголовки сопоставляются курловскому хендлеру посредством curl_setopt($ch ,CURLOPT_HTTPHEADER,$hash), где $hash это ассоциативный массив в котором ключи соответствуют именам заголовков, а значения содержимому заголовков. Кроме REFERER все заголовки передаются/принимаются нормально. Но значение по ключу Referer перед отправкой для чего то обрабатывается как полный заголовок с идентификатором, т.е. curl ищет разделитель : и ставит то что до разделителя в качестве идентификатора заголовка. В результате сервер назначения получает не изначальный реферер, а новый заголовок вида
http: blablabla. Это видно по дампу getallheaders на сервере назначения, там такого вида заголовок

[http] => //www.bbb.com/uuu/aaa.php?action=add&id=1020

Вместо

[Referer] => http://www.bbb.com/uuu/aaa.php?action=add&id=1020

Делаю ход конем в момент подготовки заголовков для отправки

PHP:
while (list($k,$v) = each($client_headers)){
switch ($k)
case 'Referer':
   $new_headers[$k] = "$k: $v";
   break;
default:
   $new_headers[$k] = $v;
Теперь работает нормально, но непонятно, почему только для referer curl считает, что вместо значения заголовка указывается полный заголовок с идентификатором?

И еще вопрос: можно ли как нибудь получить содержимое http-запроса в таком виде, в котором оно было передано на сервер? Это нужно для того, что бы перенаправить post запрос не заморачиваясь повторной сборкой тела из переменных $_POST.
 

kvf77

Red Devil
whirlwind

я так понимаю ты пытаешься обмануть другой сервер? тогда это взлом и кража контента - что запрещено правилами форума
 

whirlwind

TDD infected, paranoid
Слушай, какой взлом? Если ты знаешь как с одного сайта выдавать разные сертификаты по ssl, так и скажи.

ЗЫ. А почему ты не решил, что это может быть прокся? Какое-то нехорошее стремление придираться...
 
Сверху