是否';php://input' 包括客户';s设备ID信息?

是否';php://input' 包括客户';s设备ID信息?,php,android,webserver,Php,Android,Webserver,当我打印$data=file\u get\u contents('php://input),它打印了很多乱七八糟的代码。我想从php服务器知道哪个安卓设备已经将某个文件上传到服务器。非常感谢你 这不是乱七八糟的代码,而是您不理解的请求的细节 去了解HTTP协议是如何工作的,如果你不了解你在使用什么,你就无法解决这个问题 您只能找到用户代理提供的内容。如果他们没有通过HTTP发送带有设备版本号的请求头,那么不,您将得不到 通常,操作系统包含在用户代理字符串中。这可能是唯一一个你能找到与你所要寻找的

当我打印
$data=file\u get\u contents('php://input)
,它打印了很多乱七八糟的代码。我想从php服务器知道哪个安卓设备已经将某个文件上传到服务器。非常感谢你

这不是乱七八糟的代码,而是您不理解的请求的细节

去了解HTTP协议是如何工作的,如果你不了解你在使用什么,你就无法解决这个问题

您只能找到用户代理提供的内容。如果他们没有通过HTTP发送带有设备版本号的请求头,那么不,您将得不到


通常,操作系统包含在用户代理字符串中。这可能是唯一一个你能找到与你所要寻找的内容相近的地方。

如果你想识别特定的用户,你能做的最好的事情(通过设计你和设备之间的许多系统)就是使用。如果请求来自浏览器,则设置cookie后,来自该用户的每个后续请求都将具有相同的cookie

我们使用的一般模式是查找现有cookie,如果没有(即新用户):创建一个唯一的随机字符串,将其存储在与此“用户”关联的服务器上的某个位置,然后将其作为cookie发送给用户

我可以在这方面给你很大的帮助


请记住您只能以这种匿名方式跟踪用户。除非您还在发送请求的设备上编写应用程序,否则无法从该设备获取实际的设备ID这很好

您是在寻找设备型号,还是唯一/个人识别设备id?唯一/个人识别设备id我想,客户端是一些android手机。如果请求是标准HTTP请求,那么php://input 将是非常好的形式,相当可读(至少是前十几行。如果你说它“凌乱”,那么客户端可能会使用专有格式进行请求;但这似乎不太可能。如果你将打印调用包装在标签中,它仍然是“凌乱”的吗,或者它开始看起来干净了吗?这和我使用时的一样。我应该澄清文件的内容是可读的。但是在文件正文前后,有一些字符,比如:PK然后是一些正方形。也许你可以编辑你的问题以包括可读的部分。我想设备发送了关于其设备的请求。但是我不知道w如何接收它。它在'php://input“?我可以更改的格式”php://input,这样我就可以读取其中的内容。我是否应该安装一个工具来检查http消息以对其进行分析。您有什么建议吗?谢谢。客户端不是我写的。我在客户端代码中找到了这个。HttpParams params=mHttpClient.getParams();params.setParameter(“http.useragent”,“NCW客户端:”+CollectorConstants.DATA\u版本)。客户端设备信息是否存在于“NCW客户端:”+CollectorConstants.DATA\u版本中,如果有的话?您可以使用PHP的$\u服务器超全局来检查客户端发送的内容:
echo$\u服务器['http\u用户\u代理];
。这将回显任何
“NCW客户端:“+CollectorConstants.DATA\u VERSION
在设备上(如果这是实际生成请求的代码)。