作者Litfal (Litfal)
看板PHP
标题[请益] PHP的Curl可以绕过CORS吗?
时间Tue Jun 17 13:01:13 2014
我对PHP算一窍不通,只有google + 爬文而已。
状况是这样的:
我们帮客户用IIS架.net的WebService,
写.net code/用网页的Server端/用Fiddler直接POST都不会有问题。
但客户另一个用PHP的厂商就抱怨,他POST会遇到CORS的问题。
我知道使用浏览器,做client端的cross-domain访问会遇到这个问题,
例如用javascript做post。
但我不清楚PHP有没有方法避开,例如从Server端Relay。
PS:
技术上来说,可以调整WebService,使其支援CORS。
但客户的环境很奇怪...他们把多个WebServier放在同一个虚拟网站上。
我做全域设定的话,会一并影响WebService上的其他服务,有点危险。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.135.179.10
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/PHP/M.1402981275.A.C79.html
1F:→ danny8376:你可以看对面过来的Referer决定回怎样的CORS 06/17 13:50
因为客户的WebService很奇葩,多个服务放在同一个虚拟网站上。
所以无论是要调整web.config还是Global.asax,客户都颇抗拒的。
客户也怕为了我们的服务,弄坏其他东西。
不过这偏向.net webservice端的东西。
在这边我比较想问的是,PHP有办法从Server端做POST,
绕过浏览器的CORS规范吗?
※ 编辑: Litfal (1.171.173.57), 06/17/2014 15:51:30
2F:→ MOONRAKER:php的CURL一定是从server上发出来的阿 06/17 16:42
3F:→ mmis1000:server端哪来的浏览器规范,当然不管那个的阿 06/17 19:11
赞!那就是对方工程师的能力问题了 XDDD
※ 编辑: Litfal (1.171.173.57), 06/17/2014 21:14:52
4F:→ alog:这种事情,我都会要求对方提供相关资讯让我debug 06/18 01:13
5F:→ alog:如果没有,像我自己都会整对方ㄎㄎ.. 而且都站得住脚 06/18 01:14
6F:→ alog:有时候面对这种情况,第一时间得知的问题其实根本不是核心问 06/18 01:14
7F:→ alog:题. 06/18 01:15
8F:→ alog:就如同楼主最後猜的,可能是工程师的问题 or 跟你们衔接 06/18 01:15
9F:→ alog:过程有文件不足或沟通不足的情况,才衍生出一个这麽奇妙的问 06/18 01:15
10F:→ alog:题出来 06/18 01:15
因为对口不是我,加上我PHP一窍不通,由我质疑对方好像不太恰当。
但我花了很多时间debug和交叉测试,只差没把PHP架起来,
加上对方一直做一些[无效的]要求...
所以才来这边问,说不定PHP根本可以很简单绕过这个问题。
11F:→ MOONRAKER:他不会绕了个弯从javascript收发吧 06/18 10:29
我猜很有可能是...
※ 编辑: Litfal (220.135.179.10), 06/18/2014 11:36:13
12F:推 shadowjohn:跨网域js cors就请对方加header,不然就自己作curl~ 06/18 13:04
再爬了一下文,原来PHP也有SoapClient可用...连自己串curl都省了。
※ 编辑: Litfal (220.135.179.10), 06/18/2014 14:50:38
13F:→ MOONRAKER:对阿,PEAR有套件 06/18 23:42
14F:→ alog:guzzle也不错用 06/19 02:59