Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript查看其他网站的源html_Javascript_Jquery_Ajax_Cross Domain - Fatal编程技术网

Javascript查看其他网站的源html

Javascript查看其他网站的源html,javascript,jquery,ajax,cross-domain,Javascript,Jquery,Ajax,Cross Domain,我目前正在开发一个简单的webcrawler,它将显示给定站点的所有链接。例如,这就是我希望我的程序执行的操作: -你给它一个url: -然后程序获取html源代码并查找所有的标记 -最后,所有链接都显示给用户 为此,我将简单的JavaCScript与jQuery一起使用,目前我一直在进行$.ajax()调用: 这会抛出Uncaught SyntaxError:Unexpected token,您可以通过创建一个“代理”用php设置它。你可以在网上查询,但我记得是这样的: PROXY.PHP &

我目前正在开发一个简单的webcrawler,它将显示给定站点的所有链接。例如,这就是我希望我的程序执行的操作:

-你给它一个url:

-然后程序获取html源代码并查找所有的
标记

-最后,所有链接都显示给用户

为此,我将简单的JavaCScript与jQuery一起使用,目前我一直在进行$.ajax()调用:


这会抛出
Uncaught SyntaxError:Unexpected token,您可以通过创建一个“代理”用php设置它。你可以在网上查询,但我记得是这样的:

PROXY.PHP

<?php
print file_get_contents($_POST[‘url’]);
?>

JQUERY上的 var yourURL=“此处的您的url”; $(“div”).load(“proxy.php?url=“+yourURL”)

如果您有任何疑问,请随时询问
希望它有帮助:D

您可以通过创建“代理”使用php进行设置。您可以在web上查找它,但我记得它类似于:

PROXY.PHP

<?php
print file_get_contents($_POST[‘url’]);
?>

JQUERY上的 var yourURL=“此处的您的url”; $(“div”).load(“proxy.php?url=“+yourURL”)

如果您有任何疑问,请随时询问
希望它有帮助:D

一般来说,url不会返回JSONP响应,除非您专门使用一个这样的端点。仅将数据类型设置为JSONP并不能神奇地使服务器返回一个响应,它必须支持它。如果不使用代理,仅使用ajax是行不通的(在您的服务器或第三方服务上)由于CORS限制,您正在对页面进行爬网以获取链接,这意味着您的
数据类型不能是
jsonp
,而是
html
,如果在页面加载后使用javascript插入远程页面中的html,则还需要使用无头浏览器……这在这些情况下非常常见days@apokryfos我同意,但塞特将数据类型转换为html将不起作用,因为它将违反跨源策略。通常,url不会返回JSONP响应,除非您专门使用一个这样做的端点。仅将数据类型设置为JSONP并不会神奇地使服务器返回一个,它必须支持它。使用ajax alo将不起作用不使用代理的网元(在您的服务器或第三方服务上)由于CORS限制,您正在对页面进行爬网以获取链接,这意味着您的
数据类型不能是
jsonp
,而是
html
,如果在页面加载后使用javascript插入远程页面中的html,则还需要使用无头浏览器……这在这些情况下非常常见days@apokryfos我同意,但塞特将数据类型转换为html将不起作用,因为它将违反跨源策略谢谢,这是一个相对简单的解决方案。但我想指出(根据我的研究),仅使用javascript无法访问跨域站点。存在一些边缘情况(当服务器支持CORS:)但你不能指望任何网站都会这样。没错。在大多数情况下,限制是为了你和用户的安全目的。想象一下,如果有人在他们的网站上显示你的银行账户页面,并带有恶意代码;或者有人向你的网站提交恶意代码……我知道限制是有目的的,并且会被拒绝我不建议违反iThanks,这是一个相对简单的解决方案。但我想指出(根据我的研究),仅使用javascript无法访问跨域站点。存在一些边缘情况(当服务器支持CORS:)但你不能指望任何网站都会这样。没错。在大多数情况下,限制是为了你和用户的安全目的。想象一下,如果有人在他们的网站上显示你的银行账户页面,并带有恶意代码;或者有人向你的网站提交恶意代码……我知道限制是有目的的,并且会被拒绝我们不建议违反它