POST метод и curl

Статус
В этой теме нельзя размещать новые ответы.

NightRider

Создатель
Регистрация
25 Апр 2007
Сообщения
22
Реакции
8
Здравствуйте.

Как осуществить передачу большого количества переменных curl методом?

Пробовал таким способом, не получается. Скрипт выдает неопознанную fatal error...

PHP:
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$curlheaders[0] = "Authorization: WHM $authstr";
curl_setopt($ch,CURLOPT_HTTPHEADER,$curlheaders);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $rep);
	
$data=curl_exec($ch);
curl_close($ch);

Кто с этим сталкивался?
 
Скриптек не очень ясен...

PHP:
$curlheaders[0] = "Authorization: WHM $authstr"; 
curl_setopt($ch,CURLOPT_HTTPHEADER,$curlheaders);
Хеадер попадает массив, а не строка которую ты хочешь засунуть.

PHP:
curl_setopt($ch, CURLOPT_POSTFIELDS, $rep);
Неясно что в переменно $rep...

Больше конкретики, что и куда надо передать...
 
CURLOPT_HTTPHEADER берет строку, а не массив.
 
Вот маленькая выдержка из документации
Код:
CURLOPT_HTTPHEADER An array of HTTP header fields to set.
Так что если нужно добавить заголовки - все верно.

PHP:
$form ='process=1';
$form.='&webmaster='.$Login;
$form.='&password='.$Password;

    if($ch = curl_init())
        {
        curl_setopt($ch, CURLOPT_URL, 'http://siteforpost.com/members/stats/login.php');
        curl_setopt($ch, CURLOPT_POST, true );
        curl_setopt( $ch, CURLOPT_POSTFIELDS, $form);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
        curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
        if ($usecookie)
            {
            curl_setopt($ch, CURLOPT_COOKIEJAR, $usecookie);
            curl_setopt($ch, CURLOPT_COOKIEFILE, $usecookie);
            }

$Page=curl_exec($ch);

        curl_close($ch);
		}

Моего работающего скрипта. Здесь происходит прохождение формы авторизации.
 
ТС: проверь в php.ini параметр post_max_size и установи его в больший, чем ожидается размер данных, передаваемый через POST
 
для начала перепиши
$curlheaders[0] = "Authorization: WHM $authstr";
как
$curlheaders[0] = "Authorization: WHM ".$authstr; привыкай выносить переменные,
потом отключи - закомментируй этт элемент массива - сработает ли без него

ну и - что в $authstr то содержится? это вполне может тоже оказаться массивом :), или пустым значением



 
Если CURLOPT_SSL_VERIFYPEER установлен в 0, возможно, также потребуется установить CURLOPT_SSL_VERIFYHOST в 1 или 0 (по умолчанию 2).

Лучше дайте точный код и точную возвращаемую ошибку. Так будет легче.
 
ВЫложи полный исходник поможем...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху