ユーザーに関するSteamの詳細を取得するために、PHP Steam Condenserライブラリを使用しています。私はこれを正常に実装し、すべてが機能しています。ただし、Steam Condenser からエラーが頻繁にスローされることに気付き始めました。
何が起こっているのかというSteamIdと、パラメータを指定してクラスを呼び出すと、ライブラリが URL を生成し、SimpleXMLElement (ここで見られるように) を使用して URL にリクエストを送信します。現在、ほとんどの場合、URL は XML を返すため、アプリケーションは正常に動作しますが、Steam が頻繁にバックを503 Service Unavailable返し、失敗します。
try {
return @new SimpleXMLElement($url, 0, true);
} catch (Exception $e) {
$errorMessage = "XML could not be parsed: " . $e->getMessage();
if ((float) phpversion() < 5.3) {
throw new SteamCondenserException($errorMessage, 0);
} else {
throw new SteamCondenserException($errorMessage, 0, $e);
}
}
私の原因では、PHP バージョンは正しいため、一番下のカスタム例外がスローされます。
SteamCondenserException
XML could not be parsed: String could not be parsed as XML
/home/user/public_html/acme/vendor/koraktor/steam-condenser/lib/steam/community/XMLData.php (Line 38)
これは技術的には正しい例外ですが、リクエストが単に「使用不可」であり、XML を収集できなかったため、あまり意味がありません。
このコードを編集して、リクエストのステータス コードが 302 または 200 の場合 (リダイレクトされるため) を最初に確認してから、XML の確認に進みます。エラー (Steam コミュニティ API は現在ダウンしています) - または何か。
Googleでお尻をオフにしましたが、何も見えません。Steam は時々少し遅くなることがあるので、理想的にはすべてを同じリクエストで実行したいと思います。
乾杯