php获取ios,IOS 通过描述获取UDID PHP代码版

难点在于PHP对XML的解析

文件结构:

5c653a62c92a06f7b764bfeebc8a7955.png

第一步:新建HTML文件 用于跳转安装描述文件 必须在safari里面打开地址

第二步:新建udid.mobileconfig文件

PayloadContent

URL

https://www.xxx.com/pay_super/receive.php

DeviceAttributes

UDID

IMEI

ICCID

VERSION

PRODUCT

PayloadOrganization

dev.skyfox.org

PayloadDisplayName

查询设备UDID

PayloadVersion

1

PayloadUUID

3C4DC7D2-E475-3375-489C-0BB8D737A653

PayloadIdentifier

dev.skyfox.profile-service

PayloadDescription

本文件仅用来获取设备ID

PayloadType

Profile Service

第三步:新建receive.php,用来接收回调的xml数组。

ffea339d1a737e34c69a2fe82f5c4a2e.png用来

';

$pos1 = strpos($data, $plistBegin);

$pos2 = strpos($data, $plistEnd);

$data2 = substr ($data,$pos1,$pos2-$pos1);

$xml = xml_parser_create();

xml_parse_into_struct($xml, $data2, $vs);

xml_parser_free($xml);

$UDID = "";

$CHALLENGE = "";

$DEVICE_NAME = "";

$DEVICE_PRODUCT = "";

$DEVICE_VERSION = "";

$iterator = 0;

$arrayCleaned = array();

foreach($vs as $v){

if($v['level'] == 3 && $v['type'] == 'complete'){

$arrayCleaned[]= $v;

}

$iterator++;

}

$data = "";

$iterator = 0;

foreach($arrayCleaned as $elem){

$data .= "\n==".$elem['tag']." -> ".$elem['value']."

";

switch ($elem['value']) {

case "CHALLENGE":

$CHALLENGE = $arrayCleaned[$iterator+1]['value'];

break;

case "DEVICE_NAME":

$DEVICE_NAME = $arrayCleaned[$iterator+1]['value'];

break;

case "PRODUCT":

$DEVICE_PRODUCT = $arrayCleaned[$iterator+1]['value'];

break;

case "UDID":

$UDID = $arrayCleaned[$iterator+1]['value'];

break;

case "VERSION":

$DEVICE_VERSION = $arrayCleaned[$iterator+1]['value'];

break;

}

$iterator++;

}

$params = "uid=".$uid."&UDID=".$UDID."&CHALLENGE=".$CHALLENGE."&DEVICE_NAME=".$DEVICE_NAME."&DEVICE_PRODUCT=".$DEVICE_PRODUCT."&DEVICE_VERSION=".$DEVICE_VERSION;

header('HTTP/1.1 301 Moved Permanently'); //这里一定要301跳转,否则设备安装会提示"无效的描述文件"

header("Location: http://yutang.8090.com/pay_super/location.php?".$params);

第四步:创建跳转打印udid的文件(location.php)

UDID:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab如何读取csv,Matlab:如何读取CSV文件以及如何读取带有字符串数据项的CSV文件 | 学步园...

CSV,逗号分开的文件,如果能快速的读取这些文件中的数据,无疑会帮助我们解决很多问题。1、 只有数据的CSV文件,CSV file that includes only numbers.As an example, create a text file, named as data.csv if you prefer, which …

matlab怎么写集合,matlab集合操作

C intersect(A,B) -- 返回A和B的交集(相同元素)%----C中的元素将会从小到大排序----%如果A和B都是向量,那么返回A、B中的相同元素如果A和B都是矩阵,intersect(A,B,rows) 将返回A、B中的相同列还有一种调用格式:[C,IA,IB] intersect(A,B);其…

php表单验证内容不能为空,php校验表单检测字段是否为空的方法_PHP教程

php校验表单检测字段是否为空的方法这篇文章主要介绍了php校验表单检测字段是否为空的方法,涉及php验证表单的技巧,非常具有实用价值,需要的朋友可以参考下本文实例讲述了php校验表单检测字段是否为空的方法。分享给大家供大家参考。具体如下:php校验表单&#xff0…

url中隐藏php后缀,url中如何隐藏.php

url中隐藏“.php”的方法:首先找到并打开“nginx.conf”配置文件;然后添加内容“location / {ttry_files $uri $uri/ $uri.php$is_args$args;}”;最后保存修改即可。推荐:《PHP视频教程》现在很多人都喜欢用nginx作为Web服务器部署…

php字符串中单引号与双引号的区别,简单概括PHP的字符串中单引号与双引号的区别...

今天有个朋友问起,说下区别,顺便复习下。单引号与双引号的不同:" "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 单引号里面的不进行解释,直接输出。单引号解析的时间比双引号快 。单引号支持转义符,双引号支持的转…

php 判断ajax访问,PHP里判断是否Ajax请求

$.ajax({type: ‘POST’,url: ‘http://www.yourwebsite.com’,beforeSend: function (XMLHttpRequest) {XMLHttpRequest.setRequestHeader(“request_type”,”ajax”);},data: ‘testtest’,success: function(rs) {alert(‘ok’);}}});PHP代码:echo isset($_SERV…

discuz手机客户端java,Discuz!7.2让高级搜索更全面

Discuz! 7.2 调整了对帖子的高级搜索,使高级搜索的搜索选项更细化,覆盖面更广。一、高级搜索功能介绍高级搜索界面如下图所示:1、按作者:此处可以填写发帖作者全名,也可以使用通配符"*",如填写&q…

php面向对象异常处理,PHP 错误和异常处理(下)

PHP 错误和异常处理(下)由 学院君 创建于9个月前, 最后更新于 7个月前版本号 #11723 views2 likes0 collects上篇我们讲了 PHP 中的错误报告和捕获,今天,我们来看看 PHP 程序中的异常处理。错误 vs. 异常错误与异常可以看作一对孪生兄弟,从严…

php设计者,PHP设计者---composer

Composer 是 PHP5以上 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理&#…

java内部类练习题,学习笔记——Java内部类练习题

1.尝试在方法中编写一个匿名内部类。package com.lzw;public class AnonymityInnerClass {}class OuterClass4{public OutInterface doit(final String s){return new OutInterface(){private int i0;public int getValue(){System.out.println(s);return i;}public void f(){S…

php左边按钮右边显示,右侧操作按钮

## 方法原型:addRightButton($type , $title , $url , $linkType link, $attr [])> 关于按钮的详细说明请参考[按钮操作](./按钮操作.md)一节。> 注意: 添加操作按钮必须在添加列时添加操作栏一列, 否则即使加了右侧按钮也不会显示## 参数说明&#xff1…

电脑运行java游戏,电脑运行软件卡顿?这几招游戏或是办公,让你速度飞起!...

许多朋友想知道他们已经购买了高端计算机,但是无论玩游戏还是运行软件,他们仍然陷于困境。今天,让我们教大家一个简单的方法来提高计算机性能。焦点:此方法大大提高了用户对高度配置的计算机的影响。如果计算机的设置不太高&#…

c matlab 数据类型,matlab中数据类型与c语言数据类型的区别?

matlab中数据类型与c语言数据类型的区别?mip版 关注:233 答案:3 悬赏:0解决时间 2021-02-23 08:46已解决2021-02-22 22:32matlab中数据类型与c语言数据类型的区别?最佳答案2021-02-22 22:42简单谈一下。1.好多类型是对应的。输入一个数,ma…

mie散射粒子消光系数 matlab代码,一种球形粒子GMie散射效率极值的算法

一种球形粒子G Mie散射效率极值的算法【专利摘要】球形粒子的G?Mie散射问题属于物理光学领域,涉及光与原子的相互作用。G?Mie理论在有着广泛的用途,如分析激光衍射粒度,光镊,激光制冷,大气理论和温室效应分析等。目前…

oracle util_mail,Oracle UTL_MAIL邮件包程序使用实践

在《使用包实现存储过程邮件发送》(http://space.itpub.net/17203031/viewspace-700327)中,笔者已经初步介绍了使用UTL_MAIL包实现系统邮件发送功能。UTL_MAIL包较传统的PL/SQL邮件发送已经有很大改进和简化。但是对于一般系统而言,邮件功能设置(如发送、…

oracle+内存错误,oracle使用内存的错误,ORA-27102: out of memory

网上参阅资料,整理到这里,以备查阅。主要由于内存的分配问题,导致oracle数据库启动失败。数据库关闭之后重新启动,出现下面的错误:SQL> startup;ORA-27102: out of memoryLinux-x86_64 Error: 28: No space left on…

oracle连接数达不到上限,Oracle超出最大连接数问题及解决(转)

用过Oracle的应该都熟悉如何查看和设置Oracle数据库的最大连接数。这里就再啰嗦一遍。查看当前的连接数,可以用select count(*) from v$process;设置的最大连接数(默认值为150)select value from v$parameter where name ‘processes’;修改最大连接数alter system …

oracle批量把小写转换成大写,oracle数据库批量将表名小写转大写

ORACLE10g数据库,Sqlserver通过DTS导出数据到ORACLE后。查询表数据时输入:select * from "表名" ;查询数据执行正常。如果输入:select * from 表名;提示ORA-000942表或视图不存在后来发现原因是:导入oracle数…

oracle数据库安装提示M,Python第13课:oracle数据库的安装

Python第13课:oracle数据库的安装时间 2019-01-22下午4:30主讲 罗恒丰地点 四楼电教室版本:11.2大小:2.06G安装文件在专班ftp里python安装文件的文件夹。一.找到 stage/cvu/cvu_prereq.xml ,编辑系统名,以适…

linux 文件怎么不让删,请问如何设置权限,可以禁止用户删除文件

原帖由 WHITLACK 于 2009-9-28 08:48 发表 针对某个文件,如何设置权限,可以禁止删除?文件权限的r-w-x好像不能禁止删除的啊,谢谢指教!1:使用粘滞位可以做到,下面是介绍.强制位与冒险位、粘滞位针对u,g&…