POST提交數據,請求頭的Content-Type的設置對獲取數據方式的影響

    這個問題在對接國外一家開發商的時候出現,在他們沙箱環境裏,他們POST提交XML給我,按理應該在request.getInputStream()裏把數據讀出來,但我卻讀不出來,反而能直接循環request.getParameterMap().keySet()裏找到對應的主鍵,相應找到value就開始對接了,當時也沒過多的在意,等到對接完成,接入他們的正式環境時,我卻讀不到任何數據了,這個。。。

    對方剛開始認爲是我這邊代碼有問題,我也很堅定我的看法沙箱環境和正式環境到底有什麼差異,對方技術很肯定的說沒有差異,都是一樣的代碼, 無法解釋爲什麼沙箱與正式會這樣。面對這樣,再說下去也解決不了,開始求助網上高手的經驗,找到了一篇關於content-type設置對POST接收數據問題的文章,這確實提醒了我當初爲什麼能request.getParameterMap().keySet()來讀數據,通過獲取請求頭裏的content-type,原來對方沙箱的請求頭裏content-type是沒有設置的(默認application/x-www-form-urlencoded),而正式環境卻是:text/xml。

    問題解決,用request.getInputStream讀數據,最後,這次問題很感謝那位哥們的文章:http://my.oschina.net/haogrgr/blog/294995 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章