2010-02-05 3 views
0
Response example for MD5 hash found, for example http://md5.noisette.ch/md5.php?hash=2a0231531bc1a7fc29e2fa8d64352ae9 : 

<md5lookup> 
    <hash>2a0231531bc1a7fc29e2fa8d64352ae9</hash> 
    <string>noisette</string> 
</md5lookup> 

Response for MD5 hash *not* found, for example http://md5.noisette.ch/md5.php?hash=11111111111111111111111111111111 : 

<md5lookup> 
    <error> 
    No value in MD5 database for this hash. 
    </error> 
</md5lookup> 

Response for MD5 hash *not* found, for example http://md5.noisette.ch/md5.php?hash=1 : 

<md5lookup> 
    <error> 
    The string provided is not a true MD5 hash. Please try again. 
    </error> 
</md5lookup> 

좋아요. SimpleXML을 사용하는 방법을 배우고 있습니다. 다른 사이트에서 유사한 API를 실행하는 스크립트를 실행하고 있지만이 방법은 다릅니다. 나는 그것이 성공이라면 에러 또는 문자열 일 경우 에러를 echo하기 위해 어떻게 PHP를 사용할 것인지 잘 모르겠습니다. 지금 사용하고있는 API는 true 또는 false이지만 결과에 관계없이 동일한 계층 구조를 유지합니다. 해시가 발견되지 않습니다 예를SimpleXML을 사용하여 PHP에서 이것을 어떻게 반향시킬 수 있습니까?

http://gdataonline.com/qkhash.php?mode=xml&hash=notanactualhashandwillnotbefound 를 들어

. http://gdataonline.com/qkhash.php?mode=xml&hash=098f6bcd4621d373cade4e832627b4f6 그 해시 당신은 내가 당신이 요구하는 것을 이해 확실하지 않다

답변

1

를 계층 구조가 동일하고, 분석하는 것이 쉬운 것입니다 볼 에코 바와 같이 "테스트"

을 반환하지만 것 URL을 SimpleXml에로드하고 일반 오브젝트 표기법을 사용하여 노드에 액세스하십시오.

$parentNode->childNode 

아래 예에서는 URL에서 XML을로드하고 오류가 있으면 출력하고 그렇지 않으면 오류를 출력합니다.

$baseUrl = 'http://md5.noisette.ch/md5.php?hash='; 
$hashes = array('2a0231531bc1a7fc29e2fa8d64352ae9', 
        '11111111111111111111111111111111', 
        'not a hash'); 

foreach($hashes as $hash) { 

    // load the XML from the URL 
    $dom = simplexml_load_file($baseUrl . $hash); 

    if($dom->error) { 
     echo $dom->error; 
    } else { 
     echo $hash, ' : ', $dom->string; 
    } 

    echo PHP_EOL; // linebreak 
} 
+1

아, 그 이유는 모르겠다. 도와 줘서 고맙다, 고든. :) – Rob

관련 문제