PHP 使用 curl 进行其他应用的接口调用,属于跨域请求么?
PHP 使用 curl 进行其他应用的接口调用,属于跨域请求么?
同源策略防止跨域是浏览器中的安全机制.而PHP的cURL可以看做一个命令行下的浏览器(客户端),不受任何限制,就像你用file_get_contents下载互联网上的东西一样随心所欲:
file_put_contents(‘/tmp/logo.jpg’,file_get_contents(‘http://www.baidu.com/img/bdlogo.jpg’));
比如你把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命令行下来执行的,所以说不会受到限制的。
希望能对你有所帮助