2016-09-27 131 views
1

PhantomJS工作在客戶端還是服務器端?我知道JavaScript可以工作在客戶端和服務器端,但我不知道PhantomJS是基於哪一個?是PhantomJS客戶端還是服務器端?

+0

可能重複[如何執行phantomjs文件瀏覽器?](http://stackoverflow.com/questions/19675031/how-to-execute-phantomjs-file-browser) – Vaviloff

回答

0

PhantomJS是一款無頭瀏覽器。 PhantomJS API用於控制瀏覽器本身,並允許您在DOM上下文中注入Javascript。

PhantomJS是一個HTTP客戶端。

您可以將PhantomJS放在服務器上充當自動化客戶端。這樣你就可以把它看成服務器端。但它的核心仍然是一個HTTP客戶端

PhantomJS的目的不是使用鼠標和鍵盤來控制瀏覽器並完成一些操作,例如:打開一個新窗口,鍵入一個url,輸入,找到一個鏈接並單擊它。您可以使用Javascript以編程方式自動執行這些操作。

如果您正在考慮傳統術語的含義;加載的網頁中的代碼是客戶端和運行在HTTP服務器上的代碼是服務器端。 PhantomJS API是客戶端,但可能更適合管理程序端;控制通常爲用戶手動交互的瀏覽器的功能,並且還能夠注入並運行客戶端代碼(當前加載的頁面內的JavaScript)。

+0

我不完全明白你的意思,試着用你最後一段的話說。你能擴展一下嗎? –

6

是PhantomJS客戶端還是服務器端?

它是客戶端嗎?

  • ,如果你的意思是,PhantomJS模擬/替換即我們通常所認爲的「客戶端」瀏覽器 - 這是它的人生目標!

  • 沒有,如果「客戶端」,你的意思是「在瀏覽器中運行」 - 因爲PhantomJS本身瀏覽器(雖然屏幕沒有視覺顯示 - 因此被稱爲「無頭「)。

它是服務器端嗎?

  • ,如果「服務器端」你的意思是PhantomJS可能我想象中的服務器,其中包括關閉雲某處的一些計算機上運行。

  • ,如果您指的是「服務器端」,PhantomJS實現或將用於實現處理HTTP調用和實現某些API的Web服務器。

你有你試圖解決一些具體問題,或者這只是好奇和闡明術語?

+0

我的目的是當你在PhantomJs中運行一個代碼時,是爲那個動作提交客戶端的IP或服務器的IP的IP? – SAM

+0

我不知道你的意思是「客戶的IP或服務器的IP」。提交的IP將是運行PhantomJS的計算機的IP。 – 2016-09-27 11:24:58

+0

那麼,運行PhantomJS的計算機將是服務器,而不是客戶端,因爲PhantomJS在「後端」上運行......所以,IP將是服務器的IP ... 我剛剛看到了工具Apifier(https:///www.apifier.com/):當你使用它時,它會使用一個包含多個IP的池,所以也許這就是你要找的東西? (如你所見:https://www.apifier.com/pricing) – nicolasdaudin

相關問題