作者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/m.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