-2

API 文档说明 NSURLConnection::initWithRequest 请求传递了 url 参数。在服务器上没有收到任何东西,但是参数是有效的,并且可以在同一台机器上的浏览器中工作。烂苹果里到底发生了什么?

NSString* urlString = <valid url working from browser>;

NSURLRequest* request = [[NSURLRequest alloc] initWithURL: [NSURL URLWithString:urlString] cachePolicy: NSURLRequestReloadIgnoringLocalCacheData timeoutInterval: 10];

NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];

<Connection validated here>

<Delegate methods implemented elsewhere>
4

2 回答 2

0

这是我会尝试的:

您的 urlString 是有效的 URL 吗?仅仅因为它在浏览器中工作并不意味着它是一个有效的 URL - 浏览器可能比 NSURL 更宽容。通过检查创建的对象[NSURL URLWithString:urlString]是否不是来测试这一点nil

您的connection:didFailWithError:委托方法作为错误参数返回什么?

是否connection:didReceiveAuthenticationChallenge:在您的委托中被调用 - 这是您的应用程序和服务器之间的身份验证问题吗?

你是保留你的connection对象还是 ARC 释放它(不太可能,我很确定连接会在连接时挂起,但你可能应该确保)。

于 2012-12-13T13:07:35.787 回答
0

它不会解决您的问题,但会将超时时间增加到 60。按照上述答案检查 URL。

于 2012-12-13T13:18:24.733 回答