Iphone 向网站发送数据并获取搜索结果

Iphone 向网站发送数据并获取搜索结果,iphone,ios,ipad,http,post,Iphone,Ios,Ipad,Http,Post,我对iOS非常陌生,我刚刚开始阅读HTTP请求和POST-and-GET方法。比如说,我想让用户输入一个字符串,然后将该数据发送到一个网站(例如www.lymmzone.com),用该字符串进行搜索,并在我的应用程序中获得搜索结果。这是通过HTTP post方法完成的吗?还是怎样如有任何帮助/示例,将不胜感激。此外,如果有这方面的教程,也将不胜感激 举个例子,下面是我尝试过的: NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL

我对iOS非常陌生,我刚刚开始阅读HTTP请求和POST-and-GET方法。比如说,我想让用户输入一个字符串,然后将该数据发送到一个网站(例如www.lymmzone.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);
 }
这将输出网站的全部来源(搜索单词测试的押韵)。虽然我当然可以编写一个方法来遍历网站的源代码并提取它返回的单词,但我觉得这是不正确的。我获取不同单词押韵的方法只是在这里更改URL,因此在它显示“test”的地方,我将其更改为用户输入的任何内容


谢谢

如果我正确理解了您的意图,恐怕您唯一的选择就是发送HTTP请求(根据网站的期望获取或发布,就像您正在做的那样),然后解析结果以过滤所有不相关的信息

如果您使用的是提供RESTAPI或JSON API的网站,那么您可以使用另一种方法发送查询并返回所需的信息(以特定格式)

因此,这在很大程度上取决于您使用的网站,但对于一般情况,您唯一的选择是解析


(或者,您可以通过
UIWebView
显示页面的全部内容。这不需要显式设置连接,但我不确定这是您正在尝试执行的操作。)

如果我正确理解您正在尝试执行的操作,恐怕您唯一的选择就是发送HTTP请求(根据网站的期望获取或发布,就像你正在做的一样),然后解析结果以过滤所有不相关的信息

如果您使用的是提供RESTAPI或JSON API的网站,那么您可以使用另一种方法发送查询并返回所需的信息(以特定格式)

因此,这在很大程度上取决于您使用的网站,但对于一般情况,您唯一的选择是解析


(或者,您可以通过
UIWebView
显示页面的全部内容。这不需要明确设置连接,但我不确定您是否正在尝试这样做。)

您正在寻找一种通过iOS应用程序与网站通信的方法。常用的方法是获取用户输入的字符串,编码并将其作为http请求发送到一种脚本(webservice)。此脚本将完成您想要的所有操作(使用此字符串搜索)。然后将结果重新发送到客户端(您的iOS应用程序)作为http响应,将在iOS应用程序中解析(例如,使用JSON解析器)


例如,您可以阅读以下内容:

您正在寻找一种通过iOS应用程序与您的网站通信的方法。常用的方法是获取用户输入的字符串,编码并将其作为http请求发送给某种脚本(webservice)。此脚本将完成您想要的所有操作(使用此字符串搜索)。然后将结果作为http响应重新发送到客户端(您的iOS应用程序),该响应将在您的iOS应用程序中解析(例如,使用JSON解析器)


例如,您可以阅读以下内容:

查看AFNetworking和RestKit

如果您正在调用使用JSON/XML的公共API,然后使用内置解析器或解析器库来提取所需的数据,那么这是最简单的

下载URL的内容就是HTTP GET请求,例如访问网站

这个链接更多地讨论了GET和POST之间的区别。
查看AFNetworking和RestKit

如果您正在调用使用JSON/XML的公共API,然后使用内置解析器或解析器库来提取所需的数据,那么这是最简单的

下载URL的内容就是HTTP GET请求,例如访问网站

这个链接更多地讨论了GET和POST之间的区别。

如果你想了解Rymzone.com,我建议联系该网站的作者,询问他们是否有公共编程接口(最有可能是JSON或XML)。他们几乎肯定有(因为他们的应用程序正在使用它,不太可能删除HTML输出)。唯一的问题是这是否是一个公共界面。请通过他们的网站与他们联系。但是,在没有与网站管理员协调的情况下,将第三方网站用作应用程序的提要是不酷的,当然,除非他们有一个公共API。如果你询问Rymzone.com,我建议联系作者访问该站点,询问他们是否有公共编程接口(最有可能是JSON或XML),他们几乎肯定有(因为他们的应用程序正在使用它,不太可能删除HTML输出)。唯一的问题是这是否是一个公共界面。请通过他们的网站与他们联系。但是,在没有与网站管理员协调的情况下,将第三方网站用作应用程序的提要是不酷的,当然,除非他们有一个公共API。ASIHTTPRequest不再更新。请建议其他方法,例如AFNetworking.ASIHTTPRequest不再更新。请建议其他选项,例如AFNetworking。嘿,很抱歉这么晚才回来,但谢谢!我最终使用了JSON解析器。嘿,很抱歉这么晚才回来,但谢谢!我最终使用了JSON解析器。