我是iOS新手,我刚刚开始阅读有关HTTP请求以及POST和GET方法的内容。比方说,我想让用户输入一个字符串,然后将该数据发送到网站(例如www.rhymezone.com),用该字符串搜索,并获得该搜索的结果在我的申请中。这是用HTTP post方法完成的吗?或者是什么?任何帮助/示例将不胜感激。此外,如果有这方面的教程,也将受到赞赏。
为了举例,这是我尝试过的:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.rhymezone.com/r/rhyme.cgi?Word=test&typeofrhyme=perfect&org1=syl&org2=l&org3=y"]];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSString *dataAsString=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"data: %@",dataAsString);
}
这将输出网站的整个来源(搜索单词test的押韵)。虽然我当然可以写一个方法来浏览网站的来源并提取它返回的单词,但我觉得这是不正确的。我得到不同单词的押韵的方法就是在这里更改URL,所以在“test”中我将其更改为用户输入的内容。
由于
答案 0 :(得分:1)
如果我理解你正在尝试做什么,我担心你唯一的选择是发送HTTP请求(根据网站的期望获取GET或POST,就像你正在做的那样),然后将结果解析为过滤所有不相关的信息。
如果您使用提供REST API或JSON API的网站,以便您发送查询并获得所需信息(以特定格式),则可以采用替代方法。
因此,它在很大程度上取决于您使用的网站,但对于一般情况,您唯一的选择就是解析。
(或者,您可以通过UIWebView
显示网页的完整内容。这不需要明确设置连接,但我不确定这是您要做的事情。)
答案 1 :(得分:1)
您正在寻找一种通过iOS应用与您的网站进行通信的方式。常见的方法是获取用户输入的字符串,编码并将其作为http请求发送到某种脚本(webservice)。这个脚本将完成你想要的所有东西(用这个字符串搜索)。然后将结果作为http响应重新发送到客户端(您的iOS应用程序),该响应将在您的iOS应用程序中解析(例如,使用JSON解析器)。
周围有很好的资源,例如,您可以阅读:http://www.raywenderlich.com/2965/how-to-write-an-ios-app-that-uses-a-web-service
答案 2 :(得分:1)
了解AFNetworking和RestKit。
如果您正在调用使用JSON / XML的公共API,然后使用内置解析器或解析器库来提取所需数据,那么这是最简单的方法。
只需下载URL的内容即可获得HTTP GET请求,例如访问网站。
此链接更多地讨论了GET和POST之间的区别。 When do you use POST and when do you use GET?