Я пишу веб-приложение, которое запрашивает использование UDID пользователей с файлом .mobileconfig, который отформатирован так:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<dict>
<key>URL</key>
<string>https://example.com/profile/enroll</string>
<key>DeviceAttributes</key>
<array>
<string>UDID</string>
<string>IMEI</string>
<string>ICCID</string>
<string>VERSION</string>
<string>PRODUCT</string>
</array>
</dict>
<key>PayloadOrganization</key>
<string>www.example.com</string>
<key>PayloadDisplayName</key>
<string>Profile Service</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>3956C530-18F0-4B3D-B4C5-XXXXXXXXXXXX</string>
<key>PayloadIdentifier</key>
<string>com.example.profile-service</string>
<key>PayloadDescription</key>
<string>This temporary profile will be used to find and display your current device's UDID.</string>
<key>PayloadType</key>
<string>Profile Service</string>
</dict>
</plist>
Я подписал этот профиль тем же сертификатом, который я использую для SSL, и он отображается как проверенный, когда пользователь нажимает на профиль. Однако после выбора установки профиля данные на мой сервер не передаются. Я пытался использовать 'php://input'
а также $HTTP_RAW_POST_DATA
но оба они пусты при загрузке страницы. Я определил, что страница на самом деле загружается, потому что я могу echo
вещи в файле PHP, и они появляются. Есть что-то, что я явно делаю не так?
Если я правильно понимаю проблему, вы хотите направить само приложение (или что-то еще) в выходной буфер. Для этого вам понадобится PHP: // выводим.
Вы можете сделать один вкладыш довольно быстро с этим, используя stream_copy_to_stream:
stream_copy_to_stream (file: // …, php: // output);
Если это не так, пожалуйста, дайте мне знать, что мне не хватает в вашем описании.
Данные отправляются с POST.
print_r($_POST);
и вы должны увидеть, что отправляется