简单的iOS get请求失败

时间:2015-02-16 11:23:23

标签: ios objective-c

我尝试使用iOS模拟器运行get请求,但我没有收到服务器的任何响应,也没有收到数据。

NSString *theGetURL = [NSString stringWithFormat:@"http://10.2.176.104:9000/recorddata?id=ios&timestamp=%@%%20%@,%%20%@%%20%@&cpu=%@&memory=%@&battery=%@", monthString, dateString, yearString, timeString, self.proData, self.memData,self.batData];

正如您所看到的,我在字符串中有几个局部变量和全局变量,以及一些我用'%'逃避的百分号。当我在模拟器中将此字符串复制并粘贴到Safari中时,数据会添加到我的数据库中。

我已尝试使用以下代码通过我的应用发送get请求:

NSMutableURLRequest *newRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:theGetURL]
                                                           cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
                                                       timeoutInterval:10];

[newRequest setHTTPMethod: @"GET"];

NSError *requestError;
NSURLResponse *urlResponse = nil;


NSData *response1 = [NSURLConnection sendSynchronousRequest:newRequest returningResponse:&urlResponse error:&requestError];
NSLog(@"response=%@",response1);

此代码编译并运行正常,但不起作用。我的数据库仍然是空的。

知道我做错了吗?

2 个答案:

答案 0 :(得分:0)

试试这个

  NSString * theGetURL = @"http://www.google.co.in";
    NSMutableURLRequest *newRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:theGetURL]
                                                              cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
                                                          timeoutInterval:10];



      [newRequest setHTTPMethod: @"GET"];

        NSError *requestError;
        NSURLResponse *urlResponse;


        NSData *response1 = [NSURLConnection sendSynchronousRequest:newRequest returningResponse:&urlResponse error:&requestError];
        NSString* newStr = [[NSString alloc] initWithData:response1 encoding:NSUTF8StringEncoding];

        NSLog(@"error = %@",requestError.localizedDescription);
        NSLog(@"response=%@",newStr);
        NSLog(@"url response = %@",urlResponse);

答案 1 :(得分:0)

原来,我网址中的一个字符串有一个空格。空间被移除后,一切正常。