diff --git a/content/resurrect.js b/content/resurrect.js
index b6eb331..8ce58ca 100644
--- a/content/resurrect.js
+++ b/content/resurrect.js
@@ -132,21 +132,20 @@ var resurrect={
break;
case 'msn':
- //FD382E93B5ABC456C5E34C238A906CAB2DEEB5D6
- //ugh, they've got an API but .. SOAP? blech too complicated
-
- var searchUrl='http://search.msn.com/results.aspx?q='+encUrl;
+ var xmlUrl=rawUrl.replace('&', '&');
+ var soapBody='FD382E93B5ABC456C5E34C238A906CAB2DEEB5D6'+xmlUrl+'en-USOff01All';
var xhr=new XMLHttpRequest();
- xhr.open('GET', searchUrl, false);
- xhr.send(null);
+ xhr.open('POST', 'http://soap.search.msn.com/webservices.asmx', false);
+ xhr.setRequestHeader('Content-Type', 'text/xml; charset=ISO-8859-1');
+ xhr.setRequestHeader('SOAPAction', '""');
+ xhr.send(soapBody);
try {
- var m=xhr.responseText.match(/Cached page/);
- gotoUrl=m[1];
- gotoUrl=gotoUrl.replace('&', '&');
- } catch (e ) {
- gotoUrl=searchUrl;
+ var c=xhr.responseXML.getElementsByTagName('CacheUrl');
+ gotoUrl=c[0].textContent;
+ } catch (e) {
+ gotoUrl='http://search.msn.com/results.aspx?q='+encUrl;
}
break;