向网站发送请求(例如登录)?

时间:2012-06-01 21:34:20

标签: iphone ios login asihttprequest

我正在测试我的应用中的登录信息。 这是该页面的源代码:

    <label for="login">Username:</label><br/>
    <input id="login"  name="login"/><br/>              
    <label for="password">Password:</label><br/>
    <input id="password" name="password" type="password"/><br/>
    <input type="SUBMIT" class="tasto" value="Conferma" name="evn_conferma=evento"/>

我试过了:

ASIFormDataRequest * request2 = [ASIFormDataRequest requestWithURL:url];
[request2 setPostValue:@"USERNAME" forKey:@"login"];
[request2 setPostValue:@"PASSWORD" forKey:@"password"];


#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0
   [request2 setShouldContinueWhenAppEntersBackground:YES];
#endif

[request2 setDelegate:self];
[request2 setDidFailSelector:@selector(uploadFailed:)];
[request2 setDidFinishSelector:@selector(uploadFinished:)];
[request2 startSynchronous];

但没有任何东西被加载。请帮帮我!

编辑:我想我需要一些关于Conferma按钮的内容。

- (void)uploadFinished:(ASIHTTPRequest *)theRequest
{

NSString *responseString = [theRequest responseString]; 
NSLog(@"%@",responseString); 
NSLog(@"Finished uploading %llu bytes of data",[theRequest postLength]);

}

关于这最后一个方法,如果我把字符串

[request2 setPostValue:@"Conferma" forKey:@"evn_conferma=evento"];

我看到上传了0字节!!!

1 个答案:

答案 0 :(得分:0)

我想这不是解决方法,但你应该改变

[request2 startSynchronous];

[request2 startAsynchronous];

因为你要把代表挂钩到自己,你应该把它变成asynch

同时添加以下内容

[request2 setPostValue:@"Conferma" forKey:@"evn_conferma=evento"];