http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/GetExtendedUpdateInfo2urn:uuid:'.$uuid.'https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx/secured'.$created.''.$expires.''.$device.''.$updateId.''.$rev.'FileUrlFileDecryption'.$deviceAttributes.'';
}
// Composes POST data for fetching the latest update information from Windows Update
function composeFetchUpdRequest($device, $encData, $arch, $flight, $ring, $build, $sku = 48) {
$uuid = randStr(8).'-'.randStr(4).'-'.randStr(4).'-'.randStr(4).'-'.randStr(12);
$createdTime = time();
$expiresTime = $createdTime + 120;
$created = gmdate(DATE_W3C, $createdTime);
$expires = gmdate(DATE_W3C, $expiresTime);
$branch = branchFromBuild($build);
$products = array(
'PN=Client.OS.rs2.'.$arch.'&Branch='.$branch.'&PrimaryOSProduct=1&V='.$build,
'PN=Windows.Appraiser.'.$arch.'&V='.$build,
'PN=Windows.AppraiserData.'.$arch.'&V='.$build,
'PN=Windows.EmergencyUpdate.'.$arch.'&V='.$build,
'PN=Windows.OOBE.'.$arch.'&V='.$build,
'PN=Windows.UpdateStackPackage.'.$arch.'&Name=Update Stack Package&V='.$build,
);
$callerAttrib = array(
'Id=UpdateOrchestrator',
'SheddingAware=1',
'Interactive=1',
'IsSeeker=1',
);
$products = implode(';', $products);
$callerAttrib = 'E:'.implode('&', $callerAttrib);
$deviceAttributes = composeDeviceAttributes(
$flight,
$ring,
$build,
$arch,
$sku
);
return 'http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/SyncUpdatesurn:uuid:'.$uuid.'https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx'.$created.''.$expires.''.$device.'2046-02-18T21:29:10Z'.$encData.'falsefalsetruetrueExtendedLocalizedPropertiesEulaen-USfalse'.$deviceAttributes.''.$callerAttrib.''.$products.'';
}
?>