好的,我一直在努力适应 objective-c ,这对我来说就像过山车一样,无论如何我只是想向服务器发送一个简单的 post 请求,但它看起来并不像原来那么简单安卓。目前我有以下方法:
-(void)postMethod
{
[self.connection cancel];
//initialize new mutable data
NSMutableData *data = [[NSMutableData alloc] init];
self.receivedData = data;
//initialize url that is going to be fetched.
NSURL *url = [NSURL URLWithString"http://blank.com/register.php"];
//initialize a request from url
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[url standardizedURL]];
//set http method
[request setHTTPMethod"OST"];
//initialize a post data
NSString *postData = @"username=postTest&displayname=testingPoster&password=postest&passwordc=postest&email=posttesting%40posttest.com&bio=I+am+tesring+the+post+test&skills=I+am+a+hacka&interests=hacing+and+cracking&skills_needed=some+php+skills&company=Post+testing+the+script&dob=naaaaaa&occupation=Qoekkk";
//Here you can give your parameters value
//set request content type we MUST set this value.
[request setValue"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField"Content-Type"];
//set post data of request
[request setHTTPBody:[postData dataUsingEncoding:NSUTF8StringEncoding]];
//initialize a connection from request
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
self.connection = connection;
//start the connection
[connection start];
}
我有一个按钮可以调用该函数:
- (IBAction)registerid)sender {
[self postMethod];
}
我确实确保在我的头文件中包含了 NSURLConnectionDataDelegate,但是当我单击按钮时尝试发送请求时,它没有通过,它只是停止程序,它没有任何错误。任何建议,我一直在网上搜索只是为了学习如何发送帖子请求,我认为这应该不是很困难。
只是以防万一,我正在使用最新的 iphone sdk for ios 7。
Best Answer-推荐答案 strong>
请注意,对于 iOS 7 NSURLSession是推荐的方式。 NSURLConnection 可能会在未来的版本中被弃用。您可以使用 URL session tasks 的三种类型之一发出您的 POST 请求。 . NSURLSessionDataTask几乎等同于 NSURLConnection。 NSURLSessionUploadTask和 NSURLSessionDownloadTask (将接收到的数据写入磁盘)可以在后台 session 中使用并继续(在另一个进程中),即使您的应用程序被挂起或崩溃。更多内容请阅读 this guide .
关于ios - 发送帖子请求IOS 7,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/21213994/
|