如何在向服务器发送请求时添加设备信息?

Posted

技术标签:

【中文标题】如何在向服务器发送请求时添加设备信息?【英文标题】:How to add device information while sending request to server? 【发布时间】:2011-10-24 19:18:37 【问题描述】:

我想在向服务器发送任何请求以从服务器获取数据时添加有关 ios 和设备型号的信息。谁能帮助我如何向服务器发送一些特定信息,以便服务器应该能够理解请求来自真实的 iPhone/iPad 设备、模拟器?

【问题讨论】:

【参考方案1】:

使用UIDevice currentDevice 对象访问设备信息:

型号:

[UIDevice currentDevice].model;

版本:

[UIDevice currentDevice].version;

使用ASIHTTPRequest POST 向服务器发送数据。

-(void)sendDataToServer

        NSURL *url = [NSURL URLWithString:@"http://URL_TO_YOUR_SERVER"];

        ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];


        [request addPostValue:[UIDevice currentDevice].model; forKey:@"model"];
        [request addPostValue:[UIDevice currentDevice].version; forKey:@"version"];

        [request startSynchronous];

        NSError *error = [request error];
        if (!error) 
            //NO error
        else
            //Deal with error
        

【讨论】:

【参考方案2】:

如果您在 iPhone 应用程序中使用 ASIHTTPRequest 1.6.x 库与服务器连接,您可以在 ASIHTTPRequest.m 文件中获取此信息,如下所示

#if TARGET_OS_IPHONE
    UIDevice *device = [UIDevice currentDevice];
    deviceName = [device model];
    OSName = [device systemName];
    OSVersion = [device systemVersion];     
#else
    deviceName = @"Macintosh";
    OSName = @"Mac OS X";
#endif

【讨论】:

以上是关于如何在向服务器发送请求时添加设备信息?的主要内容,如果未能解决你的问题,请参考以下文章

在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 -

jQuery xhr.status 在向 localhost 发送请求时返回 0

在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)

在向外部服务器发送 ajax 调用时,Access-Control-Allow-Headers 在预检响应中不允许请求标头字段授权 [重复]

我在向 ios 设备发送推送通知时收到 errorNum :8

axios.get() 在向后端发送请求时正在组合 url。