2015-08-08 68 views
0

我有這樣的情況。爲什麼ini_get('user_agent')不能在php中使用file_get_contents()?

  1. 的履帶,腳本讀取使用 file_get_contents() URL的內容。

  2. 它設置用戶代理爲「CrawlerBot」只是 其中file_get_contents()使用 ini_set('user_agent')稱爲線之上。

我擔心的是當我在URL的代碼中編寫ini_get('user_agent')時,它會得到一個空白值。但是,當我使用$_SERVER['HTTP_USER_AGENT']時,它會檢測到正確的用戶代理。這兩個文件都託管在同一臺服務器上。

有人知道爲什麼會發生?

+0

因爲這不是ini_get所做的事情嗎?它用於服務器配置值,而不是特定於請求的值。 –

+0

@EdCottrell其實... http://stackoverflow.com/questions/13696421/is-it-possible-to-set-a-user-agent-when-reading-a-remote-file-using-readfile-i – duskwuff

+0

@這與我的評論並不矛盾。這個問題是關於用ini_set設置用戶代理。我的評論是關於試圖讓用戶代理通過ini_get發出請求。您可以使用ini_get來查找爲服務器發出的請求設置了哪些用戶代理值(如果有),如OP所做的那樣。你不能用它來找出向服務器發出請求的用戶代理。 –

回答

0

這不是ini_get()所做的。它用於檢索服務器配置值(您的服務器的配置),而不是請求特定的值,例如請求瀏覽器/腳本/無論發送的用戶代理。

所以,你可以使用ini_get()找出用戶代理值,如果有的話,設置爲你的服務器做出請求,比如你實際上是使一個。您無法使用它找到向您的服務器發出請求的用戶代理。

+0

謝謝你,我現在明白了... – SanketR

相關問題