回答
因爲沒有儘可能多的方式來做更復雜的事情,比如發佈數據和存儲其他會話的cookie。
+1這是使用cURL的最佳理由。 file_get_contents的*邊緣*速度較慢,這取決於你比較的cURL選項,但是使用它的一個重要原因是你實際上可以讓服務器以幾乎任何普通瀏覽器客戶端的方式運行(存儲cookie - 因此維護會話 - ,提交_POST數據,指定瀏覽器代理等),並且可以根據特定任務對其進行更加仔細的優化。 – 2012-01-30 21:53:32
僅供參考:如果爲HTTP封裝器啓用了'file_get_contents',則透明地使用cUrl。然而,包裝並沒有太多的選擇,你也可能使用命令行工具,所以這也是一個優點。 – hakre 2012-07-14 09:31:32
對於一個已經存在了很長時間,並已成爲各種標準。它建立並在許多平臺
包括Solaris,NetBSD的,FreeBSD的,OpenBSD的,達爾文,HP-UX,IRIX,AIX, 的Tru64,Linux和UnixWare的,HURD時,Windows,Symbian和Amiga上,OS/2,BeOS的編譯,Mac OS X,Ultrix,QNX,OpenVMS,RISC OS,Novell NetWare,DOS等等。
捲曲在很多情況下有用的一個複雜的工具。 有沒有真正的需要一個「目的」,有人認爲它是有用的,並適應PHP :)
除了很多其他原因陳述,基於我看到的基準和我自己的經驗,cURL約爲2x比使用file_get_contents()更快;在一個URL上。
在基於PHP的Web應用程序中報告的大量代碼注入漏洞是由使用file_get_contents()時啓用allow_url_fopen和錯誤輸入過濾引起的,CURL還允許您輕鬆處理身份驗證。這是有用的,因爲一些API使用HTTP認證等...
- 1. cURL的正確用途是什麼?
- 2. layout.xml的用途是什麼?
- 3. PhoneGap的用途是什麼?
- 4. AtomicReferenceArray的用途是什麼?
- 5. felix.xml的用途是什麼?
- 6. WSDL的用途是什麼?
- 7. RegisterFmxClasses的用途是什麼?
- 8. FXCollections.observableArrayList的用途是什麼?
- 9. config.assets.precompile的用途是什麼?
- 10. Rake的用途是什麼?
- 11. _dl_sysinfo_int80的用途是什麼?
- 12. javax.security.auth.callback。*的用途是什麼?
- 13. System.Data.SqlClient.SqlParameter.IsNullable的用途是什麼?
- 14. _GLOBAL__I_的用途是什麼?
- 15. $ _POST的用途是什麼?
- 16. RhoMobile的用途是什麼?
- 17. StandardOpenOption.SPARSE的用途是什麼?
- 18. CreateSilverlight.js的用途是什麼?
- 19. ServicePointManager.ServerCertificateValidationCallback的用途是什麼?
- 20. RegisterGlobalFilters的用途是什麼?
- 21. SDL_opengl_glext.h的用途是什麼?
- 22. NSExpression的用途是什麼?
- 23. AutoDiscoverURL的用途是什麼?
- 24. jquery.mobile.structure的用途是什麼?
- 25. JMSTemplate.execute的用途是什麼
- 26. Object.prototype.toString()的用途是什麼?
- 27. RecognizerIntent.DETAILS_META_DATA的用途是什麼?
- 28. Windows.Data.Xml.Dom的用途是什麼
- 29. gulp.src的用途是什麼?
- 30. TransactionSynchronizationRegistry的用途是什麼?
有時,功能只是當有人需要它時才做出來的。目的可能會有所不同,具體取決於它的使用方式。 – Joseph 2012-01-30 21:43:28
你有沒有試過用'file_get_contents'發送一個自定義HTTP頭? – rdlowrey 2012-01-30 21:50:26