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

Форум PHP

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

 

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

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

тема: заголовки в curl
 
 автор: kostya1082   (02.06.2006 в 18:37)   письмо автору
 
 

как отправлять заголовки в curl
вот код но он не работает
$ch = curl_init ("http://test2.ru");
$myHeader = array(
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Web-Sniffer/1.0.24\n",
"Referer: http://test2.ru\n",
"Connection: close\n",
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $myHeader);
curl_exec($ch);
curl_close($ch);

   
 
 автор: skor   (02.06.2006 в 18:46)   письмо автору
 
   для: kostya1082   (02.06.2006 в 18:37)
 

ищи темы где обсуждают сокеты тут таких плно.

   
 
 автор: kostya1082   (02.06.2006 в 18:49)   письмо автору
 
   для: skor   (02.06.2006 в 18:46)
 

причем здесь сокеты?

   
 
 автор: skor   (02.06.2006 в 18:51)   письмо автору
 
   для: kostya1082   (02.06.2006 в 18:49)
 

Именно ими происходит запись (отправка) если я не ошибаюсь...

   
 
 автор: kostya1082   (02.06.2006 в 18:53)   письмо автору
 
   для: skor   (02.06.2006 в 18:51)
 

мне нужно чтоб все это с curl было
вот эта строчка отправка заголовка
curl_setopt($ch, CURLOPT_HTTPHEADER, $myHeader);
но она неработает

   
 
 автор: Shorr Kan   (02.06.2006 в 20:16)   письмо автору
 
   для: kostya1082   (02.06.2006 в 18:53)
 

$myHeader, вероятно, строкой должен быть? А не массивом...

$myHeader = array(
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Web-Sniffer/1.0.24\n",
"Referer: http://test2.ru\n",
"Connection: close\n",
);

замените на
$myHeader="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Web-Sniffer/1.0.24\n";
$myHeader.="Referer: http://test2.ru\n";
$myHeader.="Connection: close\n";

   
 
 автор: Саня   (03.06.2006 в 13:50)   письмо автору
 
   для: Shorr Kan   (02.06.2006 в 20:16)
 

2 Shorr Kan: Читаем документацию:
...
CURLOPT_HTTPHEADER: Массив с HTTP заголовками.
...


2 kostya1082:
Не нужно ставить признак конца строки:
<?php
$myHeader 
= array(
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Web-Sniffer/1.0.24",
"Referer: http://test2.ru",
"Connection: close");
?>

   
 
 автор: kostya1082   (04.06.2006 в 10:50)   письмо автору
 
   для: skor   (02.06.2006 в 18:51)
 

а чем курл отличается сокетов?

   
 
 автор: mihdan   (06.06.2006 в 11:24)   письмо автору
 
   для: kostya1082   (02.06.2006 в 18:37)
 

Тут 2 ошибки:

<?
$myHeader 
= array(
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Web-Sniffer/1.0.24\n",
"Referer: http://test2.ru\n",
"Connection: close\n",
);
?>

Первая, то что не нужно ставить никакие переводы строк и прочую лабуду, курл это сам за тебя сделает.
Вторая очевидна, я думаю сам видишь.
А так есть 2 решения,, которые точно работают:
Вариант 1.

<?
$myHeader 
= array(
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7).....",
"Referer: http://test2.ru"
);
?>

Вариант 2.

<?
$myHeader
[] = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7).....";
$myHeader[] = "Referer: http://test2.ru";
?>

То есть собрав все вместе получим:

<?
$url 
"http://test2.ru";
$ch curl_init ();

$myHeader = array(
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7).....",
"Referer: http://test2.ru"
);

curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($chCURLOPT_HTTPHEADER$myHeader);
// Запишем результат выполнения
$results curl_exec($ch);
// На случай ошибки
echo $error curl_errno($ch)? exit("ERROR: ".curl_error($ch)): false;   
curl_close($ch);
?>

   
Rambler's Top100
вверх

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