У нас есть скрипт, который извлекает XML с удаленного сервера. Если этот сценарий выполняется на любом сервере, кроме рабочего, он работает.
Загрузите его в производство, однако, и это не удастся. Он использует cURL для запроса, но не имеет значения, как мы это делаем - fopen, file_get_contents, сокеты - это просто время ожидания. Это также происходит, если я использую скрипт Python для запроса URL.
Один и тот же скрипт, снабженный другим URL-адресом для запроса, работает - каждый раз. Очевидно, что он не возвращает искомый XML, но возвращает НЕЧТО - он МОЖЕТ подключиться к удаленному серверу.
Если этот URL запрашивается через командную строку с использованием, например, curl или wget, данные снова возвращаются. Это не данные, которые мы ищем (на самом деле, это возвращает пустой корневой элемент), но что-то возвращается.
Интересно, что если мы уберем элементы строки запроса из URL-адреса (полный URL-адрес содержит 7 элементов строки запроса и всего содержит около 450 символов), сценарий вернет тот же пустой XML-ответ. Определенные комбинации строки запроса снова приведут к превышению времени ожидания сценария.
Это, как вы можете себе представить, совершенно сбило меня с толку - похоже, оно работает в любых обстоятельствах, КРОМЕ этого необходимо для работы. Мы можем получить ответ на наших серверах разработчиков, мы можем получить ответ в командной строке , мы можем получить ответ, если отбросим определенные элементы QS - мы просто не можем получить требуемый ответ с правильным URL на сервере LIVE.
У кого-нибудь есть предложения? Я в своем уме!