1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

POST метод и curl

Тема в разделе "Web Coding", создана пользователем NightRider, 30 дек 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. NightRider

    NightRider Создатель

    Регистр.:
    25 апр 2007
    Сообщения:
    22
    Симпатии:
    4
    Здравствуйте.

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

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

    PHP:
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    $curlheaders[0] = "Authorization: WHM $authstr";
    curl_setopt($ch,CURLOPT_HTTPHEADER,$curlheaders);

    curl_setopt($chCURLOPT_POST1);

    curl_setopt($chCURLOPT_POSTFIELDS$rep);
        
    $data=curl_exec($ch);
    curl_close($ch);
    Кто с этим сталкивался?
     
  2. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    Скриптек не очень ясен...

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

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

    Больше конкретики, что и куда надо передать...
     
  3. StDutch

    StDutch

    Регистр.:
    18 дек 2007
    Сообщения:
    337
    Симпатии:
    116
    CURLOPT_HTTPHEADER берет строку, а не массив.
     
  4. BiOM

    BiOM Создатель

    Регистр.:
    27 июн 2007
    Сообщения:
    39
    Симпатии:
    20
    Вот маленькая выдержка из документации
    Код:
    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($chCURLOPT_URL'http://siteforpost.com/members/stats/login.php');
            
    curl_setopt($chCURLOPT_POSTtrue );
            
    curl_setopt$chCURLOPT_POSTFIELDS$form);
            
    curl_setopt$chCURLOPT_RETURNTRANSFERtrue );
            
    curl_setopt$chCURLOPT_FOLLOWLOCATIONtrue );
            
    curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
            
    curl_setopt($chCURLOPT_SSL_VERIFYHOST2);
            
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
            if (
    $usecookie)
                {
                
    curl_setopt($chCURLOPT_COOKIEJAR$usecookie);
                
    curl_setopt($chCURLOPT_COOKIEFILE$usecookie);
                }

    $Page=curl_exec($ch);

            
    curl_close($ch);
            }
    Моего работающего скрипта. Здесь происходит прохождение формы авторизации.
     
  5. General Fizz

    General Fizz Боевой Генерал :)

    Регистр.:
    11 апр 2007
    Сообщения:
    753
    Симпатии:
    396
    ТС: проверь в php.ini параметр post_max_size и установи его в больший, чем ожидается размер данных, передаваемый через POST
     
  6. balueff

    balueff Постоялец

    Регистр.:
    7 май 2007
    Сообщения:
    122
    Симпатии:
    6
    для начала перепиши
    $curlheaders[0] = "Authorization: WHM $authstr";
    как
    $curlheaders[0] = "Authorization: WHM ".$authstr; привыкай выносить переменные,
    потом отключи - закомментируй этт элемент массива - сработает ли без него

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



     
  7. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    Лучше дайте точный код и точную возвращаемую ошибку. Так будет легче.
     
  8. vizard-06

    vizard-06 Создатель

    Регистр.:
    9 фев 2007
    Сообщения:
    11
    Симпатии:
    2
    ВЫложи полный исходник поможем...
     
Статус темы:
Закрыта.