我必須做出一個功能,必須進入一個公共網址,它會返回一個純文本至極。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