首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS ASIFormDataRequest

iOS ASIFormDataRequest
EN

Stack Overflow用户
提问于 2012-09-25 23:51:35
回答 2查看 918关注 0票数 1

最后,我让ASI-xx的东西正常工作,这样我就不会出现ARC编译错误,也不会丢失任何其他东西。

现在,我想尝试使用ASIFormDataRequest,以便能够直接从应用程序登录到网站。

这是我已经得到的,但它似乎不能正常工作:

代码语言:javascript
复制
-(void)viewWillAppear:(BOOL)animated {

    [super viewWillAppear:YES];

    NSString *str = @"http://mysite.com/ucp.php?module=login";
    NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
    [request setPostValue:@"username" forKey:@"username"];
    [request setPostValue:@"password" forKey:@"password"];
    [request setTimeOutSeconds:120];
    [request setDelegate:self];
    [request startAsynchronous];
    NSLog(@"%@",[request responseString]);
    NSLog(@"%d",[request responseStatusCode]);
}

- (void)viewDidLoad
{
    [super viewDidLoad];


    UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://mysite.com"]]];
    [self.view addSubview:webView];
}

如果我移除webview,屏幕上什么也不会发生。

以下是NSLog的结果:

代码语言:javascript
复制
(null)
0

我想要将数据发布到的(网站的)文本字段具有以下代码:

代码语言:javascript
复制
<input tabindex="1" name="username" id="username" size="25" value="" class="inputbox autowidth" type="text">
<input tabindex="2" name="password" id="password" size="25" value="" class="inputbox autowidth" type="text">

感谢您提供的任何帮助:)

EN

回答 2

Stack Overflow用户

发布于 2012-09-26 02:54:50

您调用方法request startAsynchronous;这将在独立于主线程的情况下处理请求,因此当请求responseString;存在时,它仍然是空的。

你可以做两件事。请求startSynchronous,但这将导致您的UI停止。

最好的选择是:

代码语言:javascript
复制
- (void)requestFinished:(ASIHTTPRequest *)request
{
   // Use when fetching text data
   NSString *responseString = [request responseString];
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
   NSError *error = [request error];
}

您已经设置了代理,所以这应该可以工作。

附注: ASIHTTPRequest是一个旧的框架,他们停止了为它开发。AFNetworking是一个很好的替代品。

票数 1
EN

Stack Overflow用户

发布于 2015-11-18 14:31:31

您的代码看起来没有问题,但请确保您的web服务使用Chrome Advanced Rest Client运行良好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12586612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档