Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> curl и application/octet-stream 
V
    Опции темы
krinart
Дата 10.2.2010, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 10.4.2008
Где: Донецк

Репутация: нет
Всего: нет



Есть сайт http://www2.turtess-online.com.ua/search/

Передо мной встала задача формировать свой запрос при помощи курла и затем отдавать его клиенту. Данные передаются методом POST, за исключением какогото непонятного идентификатора, который перставляет собой метку времени. Обращение происходит вот по этому адресу http://www2.turtess-online.com.ua/search/first_events.php при помощи Ajax'a. Вроде бы ничего сложного, но есть одна незадача. Скрипт требует, чтобы Content-Type был application/octet-stream. 
Вот что я нашёл в js-исходнике по этому поводу:
Код

                    // Set non-default Content-type. We cannot use 
                    // "application/x-www-form-urlencoded" here, because 
                    // in PHP variable HTTP_RAW_POST_DATA is accessible only when 
                    // enctype is not default (e.g., "application/octet-stream" 
                    // is a good start). We parse POST data manually in backend 
                    // library code.
                    this._xmlReq.setRequestHeader('Content-Type', 'application/octet-stream');


Но КАК поставить этот хедер с помощью курла - не представляю.
curl_setopt($ch, CURLOPT_HEADER, "Content-type: application/octet-stream"); не помогает

вот код на PHP


для простоты параметр $post взят из отсниферинного вызова
Код

<?php

$id= (time()*1000).'1';
$post= 'spokey=&uid=1025444&fav=0&bonus=0&price=&resort=&ch1=&ch2=&ch3=&openonly=1&lr=0&pr=&p=0&rows=20&ttype=&fromcity=&tocity=&country=&sorter=p1&board=&pm=2&stars=%3A5859421%3A&minprice=0&nights=&pagenum=&dateFrom=12.02.2010&hotelKey=000&adult=2&child=0&hotelArray=&resortArray=&test=303';

$ch=curl_init();        

curl_setopt($ch, CURLOPT_URL, 'http://www2.turtess-online.com.ua/search/first_events.php?test=abc&'.($id).'-xml');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_REFERER, 'http://www2.turtess-online.com.ua/search/');
curl_setopt($ch, CURLOPT_COOKIE, 'Cookie: uid=1025444; b=b; PHPSESSID=70d0fcac511a6ef53f5f852cda5666f5');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_HEADER, "Content-type: application/octet-stream");

$answer= curl_exec($ch);
echo $answer;
?>


Буду весьма признателен за подсказку!
PM MAIL ICQ   Вверх
krypt3r
Дата 11.2.2010, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 9.6.2009

Репутация: 1
Всего: 16



Код

curl_setopt ($ch, CURLOPT_HTTPHEADER, array ("Content-type: application/octet-stream"));

PM MAIL   Вверх
krinart
Дата 11.2.2010, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 10.4.2008
Где: Донецк

Репутация: нет
Всего: нет



krypt3r, Спасибо огромное! Всё работает.
Тема закрыта.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0390 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.