我不知道雅虎是否在晚上改变了什么,但昨天起作用的东西今天却没有……
因此,如果您尝试this,它将工作,并从谷歌主页返回预期的超文本标记语言。
如果您尝试使用this,它也会像预期的那样工作。
现在,如果我尝试使用JavaScript调用YQL控制台提供的REST查询来进行调用,我会收到以下消息:
{"error": {
"description": "No definition found for Table htmlstring",
"diagnostics": {"url": {
"content": "http://www.datatables.org/data/htmlstring.xml",
"execution-stop-time": "1",
"http-status-message": "Bad Request",
"execution-time": "1",
"http-status-code": "400",
"execution-start-time": "0"
}},
"lang": "en-US"
}}
下面是我使用的JavaScript:
var createCORSRequest=function(method, url) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// XHR for Chrome/Firefox/Opera/Safari.
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined") {
// XDomainRequest for IE.
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
// CORS not supported.
xhr = null;
}
return xhr;
}
// Make an actual CORS request.
var makeCorsRequest=function(url) {
var deferred=jQuery.Deferred();
var xhr = createCORSRequest('GET', url);
if (!xhr) {
deferred.fail('CORS not supported');
return;
}
// Response handlers.
xhr.onload = function() {
deferred.resolve(JSON.parse(xhr.responseText));
};
xhr.onerror = function() {
deferred.fail('Woops, there was an error making the request.');
};
xhr.send();
return deferred;
}
var resturl = "https://query.yahooapis.com/v1/public/yql?q=env%20%22store%3A%2F%2Fdatatables.org%2Falltableswithkeys%22%3B%20select%20*%20from%20htmlstring%20where%20url%3D%22https%3A%2F%2Fwww.google.com%22&format=json&diagnostics=true&callback=";
makeCorsRequest(resturl).then(function(data) {
console.log(data)
})
附注:在YQL控制台上,它几乎总是可以工作,但我收到了一些失败的消息。所以我想知道YQL是否会停机?
发布于 2017-08-25 00:44:40
我不知道这是否相关,但我认为他们被黑客入侵了,看看这个,他们服务器上的另一个标头。奇怪的链接:Yahoo
发布于 2017-08-24 19:30:36
我不知道这是否相关,但是YQL控制台无法返回RSS查询的结果。
例如,这将失败:
select * from rss where url="http://razamazazzle.blogspot.com/feeds/posts/default"
https://stackoverflow.com/questions/45859404
复制相似问题