2009-05-08 6 views
2

PHP 스크립트에서 POST 데이터를 읽으려고합니다.

내 첫 번째 본능은 나를 $_POST[] 배열로 안내했지만 어떤 이유로 든 결코 채워지지 않았습니다.

OS 클라이언트 용 HTTP 클라이언트 인 http://ditchnet.org/httpclient/을 사용하여 POST 요청을 보냅니다. 스크립트의 URL을 입력하고 메소드를 POST로 설정하고 컨텐츠 유형 헤더를 text/plain으로 설정 한 다음 myVar=foobar을 요청의 본문으로 입력하십시오.

내가 보내고, $_POST[] 배열에 아무것도 없다.

StackOverflow에서 몇 가지 질문을 읽은 후 다른 경로를 시도했지만 $HTTP_RAW_POST_DATA에서 읽으려고 시도했지만 주사위도 없었습니다. 나는 또한 php://input 스트림에서 읽기를 시도했지만 아무 것도 읽지 않았습니다.

URL에 일부 매개 변수를 추가하면 머리가 위로 올라가서 $_GET[] 배열을 읽을 수 있지만 그렇게하고 싶지는 않습니다.

나는 또한 다른 응용 프로그램에서 데이터를 게시 할 필요가 그래서는 HTML 포스트 양식을 사용할 수 없습니다 ...

어떤 도움이 좋지 않을까, 감사들!

답변

5

Content-Type 헤더를 application/x-www-form-urlencoded로 설정하십시오. text/plain은 게시물 데이터에 유효한 콘텐츠 유형 인 not입니다. 당신은 원시 요청 본문을 읽으려면

+0

감사합니다! 그건 정확히 그랬어! – Jasarien

-1

브라우저에서 게시물이 작동하는지 확인 ... 사용중인 HTTP 클라이언트가 요청을 제대로 보내지 않았을 것으로 판단됩니다.

GET 요청은 멀티 파트 POST 요청보다 상당히 간단합니다.

1

, 당신은 사용할 수 있습니다

file_get_contents('php://input'); 
+0

나는 실제로 그 방법이 거의 필요하지 않더라도 그 방법을 정말 좋아합니다. – Kris