2013년 6월 14일 금요일

Request Payload 와 Form Data ??

맥북에 아파치 설정하고 테스트를 하니 기존에 생각하지도 못하고 그냥 지나가던 문제를 발견 했다. 후...이것 때문에 한 시간 삽질 한듯...

크롬의 개발자 디버그툴에서 request 시 네트웍 결과를 보면 POST 요청시에 넘겨주는 데이터가 어떤 때는 Form data 로 나오고 어떤때는 Request Payload(REST Client 를 사용하면 종종 이렇게 된다) 로 나온 걸로 기억이 난다.

그런데!
Request 시에 Content-Type 이 application/x-www-form-urlencoded 이 아니면 Post 데이터가 Request Payload 여서 현재 맥북 아파치설정에서 POST 데이터를 막고 있는듯 하다. 보안 때문에 그런듯...

이전에 ajax 로 post 데이터를 던졌는데, 특정 서버에서 데이터를 못 받았던게 기억이 나는데, 지금 보니 이게 원인으로 생각 된다.

REST Client 를 사용하려면 이거 풀어 줘야 할듯 한데....막막하다 ㅜㅜ
일단 Fetcher 라는 툴로 Content-Type 을 강제로 설정하고 진행을 하도록 하자. 시간 나면 아파치 설정 찾아 보도록 하자.(설마 아파치 설정이 맞겠지?)

추가1)
일단 아파치 설정으로 풀지 않고 php 에서 자체적으로 풀수 있는데,

$request_body = file_get_contents('php://input');

위의 코드를 사용하면 request payload 값을 가져 올 수 있다.


댓글 없음:

댓글 쓰기