Тема: POST и headers
Показать сообщение отдельно

  #18  
Старый 04.06.2009, 18:18
alex.k12
Новичок
Регистрация: 03.05.2009
Сообщений: 19
Провел на форуме:
53130

Репутация: 0
По умолчанию

Почему же, можно и сокетами, только я с ними никогда не работал. Искал, но так и не понял алгоритма передачи параметров. Вот это возвращает Bad request (и понятно, нагородил тут)

PHP код:
    $body = Array(
    
'-----------------------------23683118578968',
    
'Content-Disposition: form-data; name="param1"',
    
'\r\n',
    
'123',
    
'-----------------------------23683118578968',
    
'Content-Disposition: form-data; name="param2"',
    
'\r\n',
    
'123',
    
'-----------------------------23683118578968',
    
'Content-Disposition: form-data; name="email"',
    
'\r\n',
    
'\r\n',
    
'-----------------------------23683118578968',
    
'Content-Disposition: form-data; name="imagefile"; filename="pic.jpg"',
    
'Content-Type: image/jpeg',
    
'\r\n',
    
file_get_contents(realpath('pic.jpg')),
    
'-----------------------------23683118578968',
    
'Content-Disposition: form-data; name="param3"',
    
'\r\n',
    
'123');

    
$clenght=strlen(implode("\r\n",$body));
    
    
$a = array("POST http://www.anysite.ru/site.php?par=1 HTTP/1.1"
    
"Host: www.anysite.ru"
    
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10"
    
"Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
    
"Accept-Language:ru,en-us;q=0.7,en;q=0.3"
    
"Accept-Encoding:gzip,deflate"
    
"Accept-Charset:windows-1251,utf-8;q=0.7,*;q=0.7"
    
"Keep-Alive:43200"
    
"Connection:keep-alive"
    
"Referer:http://www.anysite.ru/site/"
    
"Cookie:PHPSESSID=$sessid"
    
"Content-Type:multipart/form-data; boundary=---------------------------23683118578968",
    
"Content-Length:$clenght",
    
"\r\n"); 
    
    
$post = array();
    
$post $a $body;

    
$f fsockopen('64.46.248.204','8080') or die('Can\'t connect'); 
    
fwrite($f,implode("\r\n",$post)); 
    
$in fread($f1048576);
    if (
$in) {list(,$result) = explode("\r\n\r\n"$in2);}
    else 
$result NULL;
    
fclose($f); 
 
Ответить с цитированием