Ios iPhone:如何使用Xcode向web服务发送HTTP请求

Ios iPhone:如何使用Xcode向web服务发送HTTP请求,ios,objective-c,iphone,http,Ios,Objective C,Iphone,Http,如何使用Objective-C向web服务发送HTTP请求?我需要从MySQL数据库中获取一些数据,因此我需要发送请求以便获取数据。有很多方法,但可能最简单的方法是使用现有的框架AsitpRequest 请参阅:编辑,因为这是一个流行的问题,而且时间一直在流逝。 与此同时,苹果推出了NSJ系列化。看一看文档: 只有当您需要为早于5.0的iOS创建代码时,才可能需要使用下面提到的json框架 除此之外,以下原始答案仍然有效: 假设您用JSON交换数据,您可能有兴趣阅读本文。 但是,本文的第一部分

如何使用Objective-C向web服务发送HTTP请求?我需要从MySQL数据库中获取一些数据,因此我需要发送请求以便获取数据。

有很多方法,但可能最简单的方法是使用现有的框架AsitpRequest


请参阅:

编辑,因为这是一个流行的问题,而且时间一直在流逝。 与此同时,苹果推出了NSJ系列化。看一看文档: 只有当您需要为早于5.0的iOS创建代码时,才可能需要使用下面提到的json框架

除此之外,以下原始答案仍然有效:

假设您用JSON交换数据,您可能有兴趣阅读本文。

但是,本文的第一部分回答了您关于如何从web服务器/服务接收数据的更一般性问题:

- (NSString *)stringWithUrl:(NSURL *)url
{
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url
                                                    cachePolicy:NSURLRequestReturnCacheDataElseLoad
                                                    timeoutInterval:30];
        // Fetch the JSON response
    NSData *urlData;
    NSURLResponse *response;
    NSError *error;

    // Make synchronous request
    urlData = [NSURLConnection sendSynchronousRequest:urlRequest
                                        returningResponse:&response
                                                    error:&error];

    // Construct a String around the Data from the response
    return [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];
}
这是一个http请求的简单示例,对于您的下一步肯定足够好了。 此方法提供一个URL,并以NSString形式返回服务器发送的数据

一旦它正常工作,您将希望避免您的应用程序在请求“广播”时冻结。
您可以通过异步请求来解决这个问题。谷歌或stackoverflow上的搜索将为您提供相关示例和教程的链接。但我建议先从这里开始,尽管这可能不是最终的解决办法

ASIHTTPRequest是一个非常简单的框架,所以我支持其他帖子的建议。不过,为了完整起见,您还应该知道,您可以在Objective-C中本机完成这项工作,而无需另一个框架。请查看苹果的文档,了解NSURLConnection和NSURLConnectionRequest类的背景信息。

以下是许多非常有名的库,您可以使用它们进行请求

Asittprequest

AFN网络

多功能网络

你可以在谷歌上搜索,在github上下载,或者,是的,当然,为什么不使用Cocoapods呢。当我将objective-c与其他语言进行比较时,这是最好的


祝你好运

你知道这个例子的视频教程吗?坦白说,我不相信视频教程。它们非常耗时,您无法剪切和粘贴样本或链接,并且很难(再次耗时)引用其中的某些部分。抱歉,我不知道。ASIHTTPRequest已被其作者“中断”。我想现在很多人都在使用AFN网络。。。或者只是使用NSURLConnectionSTHTTPRequest看起来是另一个不错的选择。非常轻。