2012-12-05 39 views
5

Tôi hiện đang làm việc với API của bên thứ ba mà tôi không thể tiết lộ. Bản tóm tắt là:PHP: Nhận nội dung yêu cầu nhận được

hành động -> bên thứ 3 -> gọi lại

Vì vậy, máy chủ của tôi giao tiếp với bên thứ 3 với một số dữ liệu

Một khi dữ liệu được gửi trở lại, các bên thứ 3 sẽ gửi một XML để gọi lại url.

Tôi nhận được cuộc gọi lại với tiêu đề:

Content-type: application/xml Content-length: 69 Request-phương pháp: POST

Tuy nhiên, print_r ($ _ POST) là thể hiện không có gì ở tất cả. Cũng không phải là $ _GET.

Điều gì có thể xảy ra? Tôi biết bạn không thể cho tôi câu trả lời chi tiết nhất dựa trên sự mơ hồ của tôi nhưng nếu bạn có thể chỉ cho tôi đúng hướng, điều đó sẽ rất tuyệt vời.

+0

Tháo bên thứ 3 từ phương trình và gửi dữ liệu cho mình trong cùng một định dạng và xác nhận điều tương tự đang xảy ra. –

+3

$ _GET/$ _ POST chỉ được điền nếu cơ chế gọi lại của api thực hiện gửi mẫu "html form" thích hợp. nó có thể gửi xml theo định dạng thô, trong trường hợp đó bạn phải đọc nó trực tiếp từ 'php: // input'. –

Trả lời

19

Sử dụng php://input:

$post = file_get_contents('php://input'); 
+0

Đã hoạt động hoàn hảo, cảm ơn! Sẽ chọn câu trả lời sớm nhất có thể. – Ozzy

+0

Ok, vì vậy, $ post hoạt động và tôi có thể xem dữ liệu ở đó; làm cách nào để trích xuất các mục riêng lẻ? – andrebruton

Các vấn đề liên quan