如何使用url将数据从iphone发送到服务器

时间:2011-04-22 11:33:12

标签: php iphone xcode url nsurlconnection

我想知道如何使用url将我的iphone应用程序中的数据发送到mysql服务器中的表。

http://localhost/location.php?id=&latitude=@&longitude=@

其中“@”是xcode的纬度和经度变量。

4 个答案:

答案 0 :(得分:0)

朋友 为此,您需要首先使用ASIHttp Connection Delegate

设置连接

答案 1 :(得分:0)

以这种方式与服务器交互的最常用方法是通过NSString stringWithContentsOfURL:encoding:error:方法(以及NSString中的其他相关方法)和NSURLConnection类,它能够执行异步后台请求。

以上两个链接类引用文档都包含代码示例(请参阅每个顶部的“相关示例代码”部分。)

此外,还有第三方解决方案,例如常用的ASIHTTPRequest类。

一旦数据“命中”服务器,您就可以在将数据存储到数据库表之前从$_GET超全球中检索数据。有很多种方法(使用诸如PDO之类的抽象层等),所以这取决于你的个人偏好。

答案 2 :(得分:0)

您可以使用以下代码 首先,你可能有导入asihttprequest包和所有必需的frameworks.after

#import "ASIHTTPRequest.h"
#import "ASINetworkQueue.h"

在viewcontroller.h文件中

ASINetworkQueue  *networkQueue;

在viewController.m文件中: - 在viewdidLoad中: -

networkQueue=[[ASINetworkQueue queue]retain];

将以下代码写在您要发送请求的位置: -

NSString *str = [NSString stringWithFormat:@"http://localhost/location.php?id=&latitude=%@&longitude=%@",latitude,longitude];
        NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
        [request setRequestMethod:@"GET"];
        [request setDelegate:self];
        [request setDidFinishSelector: @selector(*writemethodforsuccessfulrequest*)];
        [request setDidFailSelector: @selector(*writemethodforrequestfailed*)];
        [networkQueue addOperation: request];
        [networkQueue go];

在dealloc中: -

[networkQueue cancelAllOperations];
[networkQueue release]; 

答案 3 :(得分:0)

简单 试试这个

NSString *urlString = [NSString stringWithFormat:@"http://localhost/location.php?id=&latitude=%@&longitude=%@",yourLat,yourLong];
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
NSData *returnData = [NSData dataWithContentsOfURL:url];
// returnData will be the response you get when you pass the URL. If you like to 
// get some acknowledgement pass a xml format with some parameters to check 
// whether the URL you sent is valid one.