1

だから私はPlaystationNetworkAPIからいくつかのデータを取得しようとしてきました、

http://www.psnapi.com.ar/ps3/api/psn.asmx/getPSNID?sPSNID=jameslfc19

だから私はこのコードを使ってきました

<?php
//Get Username
$username = $_GET["u"];

// Passing the XML
$psnxml = @simplexml_load_file('http://psnapi.com.ar/ps3/api/psn.asmx/getPSNID?sPSNID=' .$username);

$psnname = $psnxml->PSNId->Avatar;
echo $psnname;
?>

これはまったく何も出力しません。

@を使用しているのは、それ以外の場合は(はい、わかっていますが、XMLドキュメントに500 Internel Serverエラーがある場合でもデータを取得していると思いました)

Warning: simplexml_load_file(http://psnapi.com.ar/ps3/api/psn.asmx/getPSNID?sPSNID=jameslfc19) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in /Applications/XAMPP/xamppfiles/htdocs/Sigs/PSN2.php on line 6

これを行うための最良の方法は何ですか?@を無視した場合のエラーが問題の原因であると思います。

4

1 に答える 1

5

simlexml_load_file php.netのコメントで、私は次のことを見つけました。テストされていませんが、試してみる価値があります。

sean at aliencreations dot com2011年3月17日10:59simplexml_load_file()で500エラーを受信して​​いるが、ブラウザーから手動でxml / rssフィードにアクセスできる場合は、スクリプトがユーザーエージェントによってブロックされている可能性があります。スニファー。

この問題を解決するには、xml呼び出しの前にこのコードを追加してください

<?php

ini_set("user_agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
ini_set("max_execution_time", 0);
ini_set("memory_limit", "10000M");

$rss = simplexml_load_file($feed_url);

?>
于 2012-10-14T10:25:32.263 に答える