#php #curl
#php #curl
Вопрос:
Внезапно все запросы, сделанные PHP на внешние серверы (cURL, file_get_contents(URL)), возвращают странную ошибку HTTP 402. Сначала я подумал, что это проблема в API Flickr, но, тестируя разные URL-адреса (AFAIK только на HTTPs), я продолжаю получать эту ошибку.
Проблема в том, что на моем локальном хостинге PHP имеет ту же конфигурацию (или, по крайней мере, должна быть), тот же скрипт, и он работает нормально.
Журналы ничего не показывают. Есть идеи, в чем может быть проблема? Спасибо
Комментарии:
1. что вы делаете, чтобы получить ошибку «Требуется оплата»?
2. «или, по крайней мере, должно быть» подтверждение этого вне всякого сомнения должно быть вашим первым шагом. Кроме того, попробуйте URL-адреса, отличные от https, чтобы исключить любую проблему.
3. @Fallenreaper Я действительно не знаю!!! Я думаю, ничего, поскольку он работает на localhost.
4. @PatrickQ, я протестировал несколько URL-адресов, похоже, проблема связана с URL-адресом API Flickr. Странно то, что если я вызываю URL с помощью wget с теми же параметрами, API выдает мне правильный результат. PHP имеет ту же конфигурацию!
5. Мы начали испытывать эту проблему на некоторых (но не на всех) наших серверах с помощью PHP file_get_contents() в 08:26 UTC в среду. Мы предоставляем ключ API, и использование того же ключа API с cURL через терминал работает нормально — так что это действительно странное поведение.
Ответ №1:
Я связался с командой Flickr, и вы можете проверить результат здесь: https://groups .yahoo.com/neo/groups/yws-flickr/conversations/topics/8912
Извините за неудобства. Если на вас повлияли 402, пожалуйста, напишите мне свои ключи API, и мы сможем вас разблокировать. Мы получали повторяющиеся атаки (в основном от EC2), и нам пришлось блокировать некоторый подозрительный трафик на выходных. Возможно, мы были слишком агрессивны и блокировали пользователей API, чего не должны были делать.
У них были некоторые проблемы с атаками из AWS EC2, просто связались с ними, чтобы решить эту проблему.