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

Форум PHP

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

 

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

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

тема: Помогите сделать правильный запрос CURL.
 
 автор: AlexDIXI   (21.03.2011 в 19:56)   письмо автору
 
 

Странная ситуация, отправляю пост со всеми данными, но получаю в заголовке редирект на индекс сайта.


/*
Код взят из заголовка браузера.
*/
http://my.dot.tk/registration/rename?url=softtime

GET /registration/rename?url=softtime HTTP/1.1
Host: my.dot.tk
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.dot.tk/ru/index.html?lang=ru
Cookie: mydottk_languagenr=11; dottyLn=ru; wwwLn=ru; session_id=f9935a5219323ddbce7f6ff43d9193bf

// --------------------------------------------------------------
http://my.dot.tk/registration/domainselection

POST /registration/domainselection HTTP/1.1
Host: my.dot.tk
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://my.dot.tk/registration/rename?url=softtime
Cookie: mydottk_languagenr=11; dottyLn=ru; wwwLn=ru; session_id=39eab229ff65d4c0eeac94091115206a
Content-Type: application/x-www-form-urlencoded
Content-Length: 21
domaintype=FreeDomain

HTTP/1.0 200 OK
Date: Mon, 21 Mar 2011 16:50:11 GMT
Server: Apache/1.3.41 (Unix) mod_perl/1.30
Content-Type: text/html; charset=UTF-8
Set-Cookie: session_id=39eab229ff65d4c0eeac94091115206a; domain=.dot.tk; path=/; expires=Mon, 21-Mar-2011 18:30:11 GMT
Connection: close





Моя задача получить страницу вторую. А сайт не хочет ее выводить и редиректит.


Мой код реализации пост запроса.


<?PHP 
function post($url$referer=''$post_data=''$proxy=''){ // Функция для отправки гет, пост данных. А также для работы с куки!
    
    
$cookie_file_path "cookies.txt";
    
    
$headers = array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB6 (.NET CLR 3.5.30729)",
                     
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                     
"Accept-Language: en-us,en;q=0.5",                     
                     
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7",
                     
"Keep-Alive: 115",
                     
"Connection: keep-alive");
    
$ch curl_init($url);
    if (
$post_data!='')
    {
        
        
curl_setopt($chCURLOPT_POST1);
        
curl_setopt($chCURLOPT_POSTFIELDS$post_data);        
    }
    
    
curl_setopt($chCURLOPT_HTTPHEADER$headers);
    
curl_setopt($chCURLOPT_ENCODING"gzip");
    if(
$proxy != ''){
        
curl_setopt($chCURLOPT_PROXYTYPECURLPROXY_SOCKS5);
        
curl_setopt($chCURLOPT_HTTPPROXYTUNNEL1);
        
curl_setopt($chCURLOPT_PROXY$proxy);
    }
    
curl_setopt($chCURLOPT_FOLLOWLOCATION0); 
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
    
curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
    
curl_setopt($chCURLOPT_REFERER$referer);
    
curl_setopt($chCURLOPT_COOKIEJAR$cookie_file_path);
    
curl_setopt($chCURLOPT_COOKIEFILE$cookie_file_path);
    
curl_setopt($chCURLOPT_TIMEOUT30);
    
curl_setopt($chCURLOPT_HEADER1);
    
$content curl_exec($ch);
    
    return 
$content;
}

post("http://www.dot.tk/""""""");
post("http://www.dot.tk/en/index.html?lang=en""http://www.dot.tk/""""");
post("http://my.dot.tk/registration/rename?url=softtime""http://www.dot.tk/en/index.html?lang=en""""");
echo 
post("http://my.dot.tk/registration/domainselection""http://my.dot.tk/registration/rename?url=softtime""domaintype=FreeDomain""");
?>


запустив данный код, на среде с поддержкой (php + CURL) овтет будет таким:
HTTP/1.0 302 Found Date: Mon, 21 Mar 2011 16:55:00 GMT Server: Apache/1.3.41 (Unix) mod_perl/1.30 Location: http://www.dot.tk/ Content-Type: text/html; charset=ISO-8859-1 Content-Length: 0 Connection: close


Помогите пожалуйста, получить код второй страницы. В браузере ответ другой:
HTTP/1.0 200 OK
Date: Mon, 21 Mar 2011 16:50:11 GMT
Server: Apache/1.3.41 (Unix) mod_perl/1.30
Content-Type: text/html; charset=UTF-8
Set-Cookie: session_id=39eab229ff65d4c0eeac94091115206a; domain=.dot.tk; path=/; expires=Mon, 21-Mar-2011 18:30:11 GMT
Connection: close

  Ответить  
 
 автор: AlexDIXI   (22.03.2011 в 12:05)   письмо автору
 
   для: AlexDIXI   (21.03.2011 в 19:56)
 

Что никто помочь не может?

  Ответить  
Rambler's Top100
вверх

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