2012-12-28 66 views
0

我知道跨站點請求的問題,並且我知道在此處有關於此主題的問題。但是,我的問題沒有直接回答,所以我在這裏發佈。來源http:// localhost是不允許的......解決不加入遠程服務器?

所以,我想要做的是屏幕刮一個網站,與AJAX。然而,我得到這個消息...

Origin http://localhost is not allowed by Access-Control-Allow-Origin 

...我知道不同的解決方案。但是,我所知道的所有解決方案(例如JSONP)都包括向遠程服務器添加內容,在這種情況下這是不可能的。

所以,我想知道是否有可能在沒有在遠程服務器上添加任何東西的情況下解決此問題,如果是這樣的話。提前感謝!

+0

有人刷新我的記憶。 JSONP不工作,因爲跨站點規則不適用於加載腳本?如果是這樣,有沒有辦法假裝你從scrapee網站加載腳本?也許在你自己的服務器的幫助下。 –

+0

您的要求不明確。如果你想從瀏覽器中做到這一點,你可以製作一個擴展程序,它可以毫無問題地屏蔽訪問過的網站。如果您需要服務器端解決方案,請使用[Phantom](http://phantomjs.org/)等無頭瀏覽器並通過任何其他方式進行控制。 – Stan

回答

1
  1. 您可以編寫一個服務器端腳本來代理通過
  2. 您的要求,您可以通過傳遞一個命令行參數禁用某些瀏覽器檢查

鉻:

chromium-browser --disable-web-security 

Overriding Access-Control-Allow-Origin restriction in Google Chrome

+0

FF中的CORS插件 –

+1

如果您打算將服務器用作在某人的瀏覽器中運行的JS應用程序的代理,那麼您最好還是從服務器上進行刮擦操作,並只將有趣的部分發送回瀏覽器。這將最大限度地減少您的帶寬需求但是......被抓取的網站可能會反對並將您的服務器的IP列入黑名單(無論您是代理服務器還是颳去服務器)。 –

+0

謝謝!爲第一個解決方案,它工作正常。 – holyredbeard

相關問題