PHP 的 curl 操作,属于跨域么?

如题
PHP 使用 curl 进行其他应用的接口调用,属于跨域请求么?

阅读 13.5k
7 个回答

同源策略防止跨域是浏览器中的安全机制.而PHP的cURL可以看做一个命令行下的浏览器(客户端),不受任何限制,就像你用file_get_contents下载互联网上的东西一样随心所欲:
file_put_contents('/tmp/logo.gif',file_get_contents('http://www.baidu.com/img/bdlogo.gif'));
比如你把PHP打包到Android应用里,然后调用PHP启动一个HTTP服务器,然后开一个WebView访问这个本地PHP服务(用UserAgent来识别应用WebView),然后通过PHP cURL就能获取服务器端的数据并返回给WebView,这样就跨过了WebView的同源限制,轻松访问网络.

完全不属于,尽管放心大胆地使用。跨域只有在前端javascript ajax调用时才存在。

跨域是浏览器中才有的概念。

跨域是前端浏览器(比如ajax请求)才会有的,后端不存在跨域问题,curl还是很强大的。

浏览器中的前端方面才存在跨域这一说

只不过算是模拟请求把,php那还算跨域

在网上找了一篇文章,讲到了对跨域的理解:由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域。
并配有实例的图片:
图片描述

而cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。php支持curl库,主要用它来模拟一些http请求,比如表单提交,文件上传等。而这些操作往往都是通过php命令行下来执行的,所以说不会受到限制的。

希望能对你有所帮助

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏