php, curl и multipart/form-data

Discussion in 'PHP' started by Дикс, 21 Aug 2009.

  1. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    подскажите, как правильно отправлять курлом такое:

    PHP:

    POST 
    /a-myljpostHTTP/1.1
    Host
    : ***.ru

    Content
    -Typemultipart/form-databoundary=---------------------------281452328116827
    Content
    -Length1486
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="tagcount"

    0
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="ffont"

    0
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="fcolor"

    0
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="fsize"

    0
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="d"

    1
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="a"

    myljpost
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="aa"

    new
    -----------------------------
    281452328116827
    Content
    -Dispositionform-dataname="s"


    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="message"

    sfdfdsfdsfsdf
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="addfile"filename=""
    Content-Typeapplication/octet-stream


    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="rub"

    0
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="vstat"

    0
    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="music"


    -----------------------------281452328116827
    Content
    -Dispositionform-dataname="Submit"

    Отправить
    -----------------------------281452328116827--

    пробовал в POSTFIELDS оптравлять массив из этих полей - результата нет
     
  2. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    на антикапче есть пример - посылающий такие заголовки без курла
    и с курлом - посылающий обычный массив
    пробовал массив - никакого толку
     
  3. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Какойто кривой у тебя мультипарт, файла нет)) 'addfile' => '',
    PHP:
    <?php
    $data 
    = array(   
            
    'tagcount' => '0',   
            
    'ffont' => '0',
            
    'fcolor' => '0',
            
    'fsize' => '0',
            
    'd' => '1',
            
    'a' => 'myljpost',
            
    'aa' => 'new',
            
    's' => '',
               
    'message' => 'sfdfdsfdsfsdf',
               
    'addfile' => '',
               
    'rub' => '0',
               
    'vstat' => '0',
               
    'music' => '',
               
    'Submit' => 'Отправить',
            );

    $ch curl_init('url');    
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);    
        
    curl_setopt($chCURLOPT_POSTtrue);    
        
    curl_setopt($chCURLOPT_POSTFIELDS$data);  
        
    curl_setopt($chCURLOPT_USERAGENT'Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1');    
    $res curl_exec($ch);    
    curl_close($ch); 
    ?>
     
    1 person likes this.
  4. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    да, там и не должен быть файл
    это livehttpheaders в FF дописал туда
     
  5. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    для такис случаев советую использовать tamper data

    https://addons.mozilla.org/ru/firefox/addon/966

    в 100 раз удобнее =)
     
    7 people like this.
  6. Gray_f0x

    Gray_f0x Elder - Старейшина

    Joined:
    31 May 2007
    Messages:
    161
    Likes Received:
    84
    Reputations:
    12
    через массив
     
  7. Gray_f0x

    Gray_f0x Elder - Старейшина

    Joined:
    31 May 2007
    Messages:
    161
    Likes Received:
    84
    Reputations:
    12
    $data=array(
    "parametr1"=>"1"
    "paramert2"=>"2"
    ....
    );
    curl_setopt($curlses,CURLOPT_POSTFIELDS,$data);