如何在iOS应用程序中完成HTTP post

如何在iOS应用程序中完成HTTP post,http,post,nsurlconnection,Http,Post,Nsurlconnection,好的,我有一些代码可以发布到我的php站点,但是我想要一种方法来确保数据到达那里。有没有办法让提交挂起直到超时,或者服务器响应说提交已接受 以下是我目前掌握的代码: //Create String NSString *var1 =@"waitTime="; NSString *var2 =@"&cover="; NSString *wait = [var1 stringByAppendingString:waitTime.text]; NSSt

好的,我有一些代码可以发布到我的php站点,但是我想要一种方法来确保数据到达那里。有没有办法让提交挂起直到超时,或者服务器响应说提交已接受

以下是我目前掌握的代码:

      //Create String
    NSString *var1 =@"waitTime=";
    NSString *var2 =@"&cover=";
    NSString *wait = [var1 stringByAppendingString:waitTime.text];
    NSString *co = [var2 stringByAppendingString:cover.text];


    NSMutableURLRequest *request = 
    [[NSMutableURLRequest alloc] initWithURL:
     [NSURL URLWithString:@"http://mysite.net/index.php"]];

    [request setHTTPMethod:@"POST"];

    NSString *postString = [wait stringByAppendingString:co];

    [request setValue:[NSString 
                       stringWithFormat:@"%d", [postString length]] 
   forHTTPHeaderField:@"Content-length"];

    [request setHTTPBody:[postString 
                          dataUsingEncoding:NSUTF8StringEncoding]];

    [[NSURLConnection alloc] initWithRequest:request delegate:self];

您可以按以下方式获取状态代码:

定义了状态代码

201

在POST命令之后,这表示成功,但响应行的文本部分表示应该知道新创建文档的URI

更新


如果连接超时,您应该在调用connection:didFailWithError:delegate方法时看到这一点。

您可以通过以下方式获得状态代码:

定义了状态代码

201

在POST命令之后,这表示成功,但响应行的文本部分表示应该知道新创建文档的URI

更新


如果连接超时,您应该在调用connection:didFailWithError:delegate方法时看到这一点。

查看。简而言之,您要做的是实现
nsurlconnectionelegate
协议的一些委托方法;将向学员发送各种消息,通知您负载情况。

查看。简而言之,您要做的是实现
nsurlconnectionelegate
协议的一些委托方法;将向代理发送各种消息,通知您负载情况。

这将被视为一种方法?单击按钮时我是否可以调用此方法?这些是NSURLConnection protocol代理方法。它们是连接在处理服务器响应的不同阶段使用的回调方法。您不希望将它们作为目标:操作:对按钮按下的响应调用。在实现委托方法后,如果在启动请求后没有调用它们,请返回此处,并告诉我们发生了什么。您可能需要打开一个包含详细信息的新问题。这将被视为一种方法?单击按钮时我是否可以调用此方法?这些是NSURLConnection协议委托方法。它们是连接在处理服务器响应的不同阶段使用的回调方法。您不希望将它们作为目标:操作:对按钮按下的响应调用。在实现委托方法后,如果在启动请求后没有调用它们,请返回此处,并告诉我们发生了什么。您可能需要打开一个新的问题,并提供详细信息。
- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
   NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
   int code = [httpResponse statusCode];
}