我必须做出一个功能,必须进入一个公共网址,它会返回一个纯文本至极。Http进入外部网址
取决于我将作出验证。
我尝试使用dojo ajax get方法,但由于是不同的域,它将无法工作(仅在资源管理器上)。
如何将该呼叫转到外部域并管理答案。
该网址将是这样的。
http://my.socket:8080/?option1=1&option2=2
它可以与ajax或只是一个java类。
我必须做出一个功能,必须进入一个公共网址,它会返回一个纯文本至极。Http进入外部网址
取决于我将作出验证。
我尝试使用dojo ajax get方法,但由于是不同的域,它将无法工作(仅在资源管理器上)。
如何将该呼叫转到外部域并管理答案。
该网址将是这样的。
http://my.socket:8080/?option1=1&option2=2
它可以与ajax或只是一个java类。
AJAX是工作在客户端,这意味着你不能让外国域Ajax调用 由于http://en.wikipedia.org/wiki/Same_origin_policy
这将是很好的技术,如果你写的是得到你的应用程序的服务器端 打电话,让阿贾克斯呼叫您的应用程序,它将充当网关并从远程服务器获取数据
由于相同的来源策略,您不能在跨域执行简单的ajax调用。
你可以调用你自己的服务器页面驻留在同一个域上,该页面可以做HTTP获取并获取你的内容。
,或者您可以使用YQL
var url = 'http://my.socket:8080/?option1=1&option2=2'; // website you want to scrape
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + url + '"') + '&format=json&callback=?';
$.getJSON(yql,function(data){
if(data.query.results){
var result = data.query.results.double.content.replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '');
alert(result);
}
});
这也可以管理纯文本和XML的答案? – user1725253
我不知道纯文本(你可以在你的末尾过滤),但你可以得到xml。只需将此行'select * from html ....'更改为'select * from xml ....' – Jashwant
听起来货,我如何管理我从收到的网址在我的服务器端的文本任何想法。我可以做出这样的事情,以击中外部网址,但我如何管理这个网站。 URL url = new URL(“http:// socket。”); \t \t URLConnection conn = url.openConnection(); \t \t conn.setDoOutput(true); \t \t \t \t \t \t的BufferedReader在新=的BufferedReader(新的InputStreamReader(conn.getInputStream())); \t \t \t \t in.close(); – user1725253
基本上你需要编写代码,当你导航到 yourdomain.com/gatewaycode/ mayeymoreparams 将被执行,并将打印外部域返回的数据 如果你将管理,那么你就会打电话给yourdomain.com ajax/gatewaycode/maybemoreparams 我错过了你的问题? 你在服务器端使用java吗? – MySqlError
是的应用程序是在java中,我喜欢这样的想法,在我的服务器端进行调用,然后用ajax调用我的同一个域,我不知道如何从我的服务器端进行调用。 – user1725253