jQuery .get 对于非 https,在用户脚本中
jQuery .get for non https, in a userscript
我在我的网站上制作了一个脚本,可以访问另一个网站上的 table。但是,另一个网站是 HTTP,所以 chrome 告诉我 "This request has been blocked; the content must be served over HTTPS."
$.get('http://www.kanjidamage.com/kanji', null, function searchKD () { /*function*/ });
所以我要问的是:我如何访问不同网站上的元素,即使它不是 HTTPS。
您要么需要构建一个代理,服务器端可以获取远程内容,return它,要么通过 https 连接。
在 PHP 中(例如),您可以创建一个简单的 "kanji.php":
<?php
echo file_get_contents('http://www.kanjidamage.com/kanji');
?>
我的建议:
只需下载页面,删除不需要的内容(如 header/footer),然后在本地提供。这似乎是一个足够简单的页面。
你可以试试这个:
$.get('//www.kanjidamage.com/kanji', null, function searchKD () { /*function*/ });
是的,两个站点都必须使用 https,否则就达不到目的了。有些内容是加密的,有些则不是。您可能会将本应受到保护的信息(如信用卡号)发送到不安全的来源。
如果您有权访问您的服务器代码。您可以创建一个向不安全的 http 域发出请求的路由。这样你所有的前端请求都指向同一个域,并且浏览器很高兴,因为所有请求都是 https。
您已将其标记为 tampermonkey。如果是这种情况,请使用它。
Tampermonkey 允许使用 GM_xmlhttpRequestDoc.
绕过 "mixed active content" 限制
所以这个完整的 Greasemonkey/Tampermonkey 脚本工作正常:
// ==UserScript==
// @name _Mixed content AJAX
// @match
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant GM_xmlhttpRequest
// @connect kanjidamage.com
// ==/UserScript==
GM_xmlhttpRequest ( {
method: "GET",
url: "http://www.kanjidamage.com/kanji",
onload: function (response) {
console.log (response.responseText);
}
} );
我在我的网站上制作了一个脚本,可以访问另一个网站上的 table。但是,另一个网站是 HTTP,所以 chrome 告诉我 "This request has been blocked; the content must be served over HTTPS."
$.get('http://www.kanjidamage.com/kanji', null, function searchKD () { /*function*/ });
所以我要问的是:我如何访问不同网站上的元素,即使它不是 HTTPS。
您要么需要构建一个代理,服务器端可以获取远程内容,return它,要么通过 https 连接。
在 PHP 中(例如),您可以创建一个简单的 "kanji.php":
<?php
echo file_get_contents('http://www.kanjidamage.com/kanji');
?>
我的建议:
只需下载页面,删除不需要的内容(如 header/footer),然后在本地提供。这似乎是一个足够简单的页面。
你可以试试这个:
$.get('//www.kanjidamage.com/kanji', null, function searchKD () { /*function*/ });
是的,两个站点都必须使用 https,否则就达不到目的了。有些内容是加密的,有些则不是。您可能会将本应受到保护的信息(如信用卡号)发送到不安全的来源。
如果您有权访问您的服务器代码。您可以创建一个向不安全的 http 域发出请求的路由。这样你所有的前端请求都指向同一个域,并且浏览器很高兴,因为所有请求都是 https。
您已将其标记为 tampermonkey。如果是这种情况,请使用它。
Tampermonkey 允许使用 GM_xmlhttpRequestDoc.
绕过 "mixed active content" 限制所以这个完整的 Greasemonkey/Tampermonkey 脚本工作正常:
// ==UserScript==
// @name _Mixed content AJAX
// @match
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant GM_xmlhttpRequest
// @connect kanjidamage.com
// ==/UserScript==
GM_xmlhttpRequest ( {
method: "GET",
url: "http://www.kanjidamage.com/kanji",
onload: function (response) {
console.log (response.responseText);
}
} );