AFNetworking没有发送请求

莫非斯

我试图通过尝试创建一个简单的命令行应用程序来学习AFNetworking。根本没有发出网络请求。我使用查尔斯代理来查看是否对api服务器进行了任何请求,但均未做出任何请求。有指针吗?

#import <Foundation/Foundation.h>
#import <AFNetworking/AFNetworking.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {   
    NSString * BaseURLString = @"http://api.erail.in/pnr?key=599c6647e&pnr=673607";
    NSURL *url = [NSURL URLWithString:BaseURLString];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    operation.responseSerializer = [AFJSONResponseSerializer serializer];
    NSLog(@"Hi!");
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSDictionary *status = (NSDictionary *) responseObject;
        NSLog(@"HI!");
        NSLog(@"%@", status);

    }
                                     failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                         NSLog(@"Couldn't reciev the data");
                                     }
     ];
    [operation start];
    }
return 0;
}

该请求是异步运行的,因此该main功能将在请求完成之前结束,因此该应用程序将终止。

您需要NSRunLoop运行以保持应用程序正常运行并NSURLConnection正确处理AFNetworking的事件。最简单的方法是不使用命令行应用程序,而是使用标准的Cocoa或Cocoa Touch应用程序,然后AFHTTPRequestOperation在适当的位置启动NSRunLoop会继续运行,应用程序将不会立即终止,并AFNetworking的NSURLConnection将有机会来处理请求,并等待响应。

如果您真的想做一个命令行应用程序,那么您可以自己保持运行循环:

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        BOOL __block done = NO;
        NSRunLoop *runLoop = [NSRunLoop currentRunLoop];

        AFHTTPRequestOperation *operation = ...
        [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
            // do your success stuff

            done = YES;
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            // do your failure stuff

            done = YES;
        }];
        [operation start];

        while (!done && [runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) {
            // this is intentionally blank
        }
    }
    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AFNetworking没有发送请求

来自分类Dev

AFNetworking发送带有请求的标头

来自分类Dev

$ http.post没有发送请求?

来自分类Dev

$ http.post没有发送请求?

来自分类Dev

如何通过AFNetworking发送HTTP POST请求?

来自分类Dev

AFNetworking发送JSON作为POST请求的参数

来自分类Dev

AFNetworking 2.0发送带有字典参数数组的发布请求

来自分类Dev

在AFNetworking 3.0中发送带有正文字典的POST请求

来自分类Dev

Select2与Ajax没有发送请求

来自分类Dev

使用require时,没有从ajax请求发送响应

来自分类Dev

使用没有数据的libcURL发送PUT请求

来自分类Dev

QNetworkAccessManager没有发送POST请求的数据部分

来自分类Dev

发送 post 请求后似乎没有响应

来自分类Dev

为什么日志没有显示API发送的请求信息?

来自分类Dev

如果我在30秒内启动请求但没有响应数据,如何在AFNetworking中停止请求(超时)

来自分类Dev

使用AFNetWorking发送请求时遇到问题

来自分类Dev

使用AFNetWorking发送请求时遇到问题

来自分类Dev

创建模型时发送带有absolute_uri的邮件(没有请求对象)

来自分类Dev

有没有办法通过 GET 请求发送对象?

来自分类Dev

有没有可以发送到usb端口来请求系统时间的命令?

来自分类Dev

有没有办法用discord.py发送好友请求?

来自分类Dev

使用Afnetworking发布没有图像的数据

来自分类Dev

有没有办法在没有外部库的情况下通过NetBeans发送GET和POST请求?

来自分类Dev

通过nodejs下载响应POST请求而发送的文件?(没有AJAX)

来自分类Dev

在没有原始数据的情况下重新发送投递请求

来自分类Dev

向本地服务器的Swift NSURLSession请求-没有发送或接收数据

来自分类Dev

angular中的http服务发送post数据作为请求正文的键,没有任何值

来自分类Dev

问题与Spring Webflux WebClient的,没有试图发送POST请求时发生

来自分类Dev

在没有授权标头的情况下发送React请求

Related 相关文章

  1. 1

    AFNetworking没有发送请求

  2. 2

    AFNetworking发送带有请求的标头

  3. 3

    $ http.post没有发送请求?

  4. 4

    $ http.post没有发送请求?

  5. 5

    如何通过AFNetworking发送HTTP POST请求?

  6. 6

    AFNetworking发送JSON作为POST请求的参数

  7. 7

    AFNetworking 2.0发送带有字典参数数组的发布请求

  8. 8

    在AFNetworking 3.0中发送带有正文字典的POST请求

  9. 9

    Select2与Ajax没有发送请求

  10. 10

    使用require时,没有从ajax请求发送响应

  11. 11

    使用没有数据的libcURL发送PUT请求

  12. 12

    QNetworkAccessManager没有发送POST请求的数据部分

  13. 13

    发送 post 请求后似乎没有响应

  14. 14

    为什么日志没有显示API发送的请求信息?

  15. 15

    如果我在30秒内启动请求但没有响应数据,如何在AFNetworking中停止请求(超时)

  16. 16

    使用AFNetWorking发送请求时遇到问题

  17. 17

    使用AFNetWorking发送请求时遇到问题

  18. 18

    创建模型时发送带有absolute_uri的邮件(没有请求对象)

  19. 19

    有没有办法通过 GET 请求发送对象?

  20. 20

    有没有可以发送到usb端口来请求系统时间的命令?

  21. 21

    有没有办法用discord.py发送好友请求?

  22. 22

    使用Afnetworking发布没有图像的数据

  23. 23

    有没有办法在没有外部库的情况下通过NetBeans发送GET和POST请求?

  24. 24

    通过nodejs下载响应POST请求而发送的文件?(没有AJAX)

  25. 25

    在没有原始数据的情况下重新发送投递请求

  26. 26

    向本地服务器的Swift NSURLSession请求-没有发送或接收数据

  27. 27

    angular中的http服务发送post数据作为请求正文的键,没有任何值

  28. 28

    问题与Spring Webflux WebClient的,没有试图发送POST请求时发生

  29. 29

    在没有授权标头的情况下发送React请求

热门标签

归档