相关疑难解决方法(0)

NSURLConnection超时?

我正在将这个NSURLConnection与代表一起使用.

nsconnection = [[NSURLConnection alloc] initWithRequest:request
    delegate:self startImmediately:YES];
Run Code Online (Sandbox Code Playgroud)

问题是网站根本没有回应.没什么,只是在浏览器中旋转空白页面,没有失败.在我的代表中,我处理失败,但当网站没有响应时,代表不会被调用.有关如何超时连接的任何想法?

iphone timeout nsurlconnection

62
推荐指数
2
解决办法
7万
查看次数

POST请求未考虑NSMutableURLRequest超时间隔

我有以下问题.在NSMutableURLRequest使用该HTTP方法POST时,将忽略为连接设置的超时间隔.如果互联网连接有问题(错误的代理,坏的DNS),网址请求在大约2-4分钟后失败,但没有 NSLocalizedDescription = "timed out";

NSUnderlyingError = Error Domain=kCFErrorDomainCFNetwork Code=-1001 UserInfo=0x139580 "The request timed out.
Run Code Online (Sandbox Code Playgroud)

如果使用的http方法是GET它工作正常.连接async结束了https.

    NSURL *url = [NSURL URLWithString:urlString];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];    

    [request setTimeoutInterval:10];

    //Set the request method to post
    [request setHTTPMethod:@"POST"];

    if (body != nil) {
        [request setHTTPBody:body];
    }

    // Add general parameters to the request
    if (authorization){
        [request addValue: authorization forHTTPHeaderField:@"Authorization"];
    }
    [request addValue: WS_HOST forHTTPHeaderField:@"Host"];
    [request addValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];

    [[NSURLCache …
Run Code Online (Sandbox Code Playgroud)

post objective-c nsurlconnection ios

32
推荐指数
3
解决办法
4万
查看次数

NSMutableURLRequest setTimeoutInterval在ios 11.0中不起作用

我正在使用URL后台会话将pdf上传作为数据流,使用ios版本> 9.0.我将超时间隔设置为300秒.它根本不起作用.10秒后,它会出现超时错误.

下面给出了一段代码

  NSTimeInterval reqTimeInterval = 300.0f;

- (NSURLSession *)uploadSessionForMrNo:(NSString *)mrNo
                            userRoleId:(NSString *)userRoleId
                             timestamp:(NSString *)timestamp {

    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    queue.maxConcurrentOperationCount = 4;

    NSString *backgroundSessionIdentifier = [NSString stringWithFormat:@"backgroundPdfUploadIdentifier_%@",mrNo];

    NSURLSessionConfiguration *backgroundSession = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:backgroundSessionIdentifier];
    backgroundSession.discretionary = true;

    NSURLSession *session = [NSURLSession sessionWithConfiguration:backgroundSession delegate:self delegateQueue:queue];

    [session setAccessibilityLabel:mrNo];
    [session setAccessibilityValue:userRoleId];
    [session setAccessibilityHint:timestamp];

    return session;
}


- (void)uploadPdfRequest:(NSURLRequest *)request
                 forMrNo:(NSString *)mrNo
              userRoleId:(NSString *)userRoleId
             andTimestamp:(NSString *)timestamp {

    NSURLSession *session = [self uploadSessionForMrNo:mrNo userRoleId:userRoleId timestamp:timestamp];
    NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request];
    NSLog(@"postDataTask %@ timeout %f",postDataTask,request.timeoutInterval); …
Run Code Online (Sandbox Code Playgroud)

objective-c nsurlsession nsurlsessiondatatask ios11

8
推荐指数
1
解决办法
638
查看次数

NSURLRequest何时超时?

Cocoa中的NSURLRequest类(iOS docs,OS X docs)有一个timeoutInterval属性.文档陈述

如果在连接尝试期间请求保持空闲的时间超过超时间隔,则认为该请求已超时.

"闲置"是什么意思,在这里?据我所知,这在实践中意味着如果我设置30秒timeoutInterval并调用发送的方法NSURLRequest,那么如果HTTP响应的主体在发送请求后30秒没有返回,请求时间出.但这究竟是怎么回事?

我能想到的一些事情可能会触发闲置计时器重置:接收HTTP标头或接收正文的一部分.但实际上哪些(如果有的话)很重要?

macos cocoa http objective-c ios

7
推荐指数
1
解决办法
599
查看次数

NSURLRequest超时IOS

我需要使用UIRequest设置超时15秒或30秒,但它始终采用默认值.有没有办法设置连接的最小超时.

iphone nsurlconnection nsurlrequest ipad ios

5
推荐指数
1
解决办法
3万
查看次数