Проблемы с CURL-ом на PHP - Не получает файл

Conr

Новичок
Помогите, пожалуйста с моей проблемой. Уже третий день убил, результатов 0. Разрабатываю сайт, который должен будет взаимодействовать с базой ebay.com.

В теории, отправляю GET запрос Curl-ом, получаю ответ XML файл, обрабатываю его.

Если просто перейти по ссылке ниже:

http://svcs.ebay.com/services/search/FindingService/v1?OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.12.0&SECURITY-APPNAME=ITElisee-3a73-476d-97bf-eb4b9c8e06ee&RESPONSE-DATA-FORMAT=XML&REST-PAYLOAD&keywords=piano&paginationInput.entriesPerPage=4

XML файл отображается, а вот получить его ни курлом, ни сокетами не получается.

Пример PHP кода:

if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://svcs.ebay.com/services/search/FindingService/v1?OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.12.0&SECURITY-APPNAME=IPElisee-0c5b-4012-8de4-ac3b359489d6&RESPONSE-DATA-FORMAT=XML&REST-PAYLOAD&keywords=piano&paginationInput.entriesPerPage=4');

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 50);
curl_setopt($curl, CURLOPT_TIMEOUT, 50);
curl_setopt($curl, CURLOPT_USERAGENT, " Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0");

echo "curl_exec ".curl_exec( $curl );
curl_close($curl);
};

Запрос отправляет, ответа – нет.
 

Вурдалак

Продвинутый новичок
А что ты пытался делать эти три дня? Запускать один и тот же код?
 

Вурдалак

Продвинутый новичок
До обработки ошибок не доходит
Как ты это определил?

Окей, допустим, по какой-то причине с твоего сервера запрос на ebay.com отправляется долго. Допустим, что веб-сервер, стоящий перед твоим PHP рвёт с ним соединение по таймауту. Допустим, что в логи ты посмотреть не можешь, потому что что-то там. Но разве не логично снизить таймауты с 50 до приемлимого значения, чтобы убедиться, что дело в соединении и получить ошибку в явном виде в curl_error()?

В первую очередь нужно смотреть логи, возможно у тебя проблемы после выполнения запроса, с парсингом XML, например.
 

Conr

Новичок
Ну, во-первых, спасибо тебе, что пытаешься мне помочь. Я думаю скоро мы докопаемся до истоков проблемы. Хостинг использую под управлением cPanel, логов там как токовых нет(. Могу только выбрать версию PHP активировать/деактивировать модули. cURL включен.

У меня есть доступ к одному виртуальному серверу в USA, я попробовал закинуть скрипт на него. Результат меня обрадовал, там все работает, результат отображается мгновенно. Какие с этого выводы можно сделать?

И еще на хостинге, на котором не работает скрипт, я указывал другой сервер, например с RSS лентой, все получает. Т.е. с ebay не работает, с другими работает, google.com отображается на ура.
Ebay забанил IP??

Если таймаут соединения уменьшить

curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0); ждать постоянно - ошибка 504 Gateway Time-out nginx/1.0.14

Если его же заставить ждать 3 секунды, то ошибка couldn't connect to host. В общем, очевидна ошибка в установке соединения, пытается установить соединение, почему-то это не получается и отрубается по тайм ауту.
 
Сверху