通过 iPhone 在 Wordpress 网站上注册的响应
Posted
技术标签:
【中文标题】通过 iPhone 在 Wordpress 网站上注册的响应【英文标题】:Response for Registering on Wordpress Site through iPhone 【发布时间】:2011-06-30 12:49:36 【问题描述】:我正在编写一个应用程序,它显示来自 Wordpress 站点的内容,并且还允许读取 cmets 以及发布 cmets。我正在处理登录以发表评论并通过 XML-RPC 发表评论。所有这些都运行良好。但是,此特定站点不允许匿名评论。所以,我需要允许通过应用注册一个帐户。
目前,我采用所需的“用户名”和“电子邮件”并通过 POST 提交如下:
ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.lamebook.com/wp-signup.php"]];
[request setPostValue:@"example" forKey:@"user_name"];
[request setPostValue:@"example@test.com" forKey:@"user_test"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(registerFinished:)];
[request setDidFailSelector:@selector(registerFailed:)];
[request startAsynchronous];
这是因为它将创建帐户。但是,我的问题是在我的registerFinished
方法中:
- (void)registerFinished:(ASIFormDataRequest *)request
NSString *response = [[NSString alloc] initWithData:[request responseData] encoding:NSASCIIStringEncoding];
NSLog(@"response %@", response);
响应只是注册页面的 html。 HTML 不包含有关注册成功或失败的信息。
使用网络表单时,如果发生任何错误,返回的 HTML 都有条目,例如:
<p class="error">Username must be at least 4 characters</p>
但是,我在手机上收到的 HTML 中似乎没有得到这些元素。有没有合适的手机注册方式?
【问题讨论】:
我也想做同样的事情。你想清楚了吗? 作为一种解决方法,如果您没有发现其他问题,我认为您的平台不支持 curl? 我最终通过 UIWebView 而不是原生 UI 来处理这个问题。 我猜你使用了错误的编码方式,NSASCIIStringEncoding,....为什么不用utf-8或者试试其他的 【参考方案1】:如果您可以访问该站点,我猜您应该可以,您应该能够编写一个小插件,让您通过将数据发布到插件指定的 URL 来执行注册。这将相当简单,只需将一个函数连接到init
操作并检查$_POST
变量是否有任何输入。
然后只需使用username_exists
检查现有用户并使用wp_create_user
执行注册。这些函数将提供返回值,然后您可以将其作为 JSON 响应(或任何适当的)发送回您的应用程序。
事实上,我在 XML-RPC 方面的经验是它有些有限,并且与 WordPress 的其余部分没有真正保持同步,所以我经常制作这些小型迷你 API 来处理这样的情况。然而,所有这些在最新版本中可能都发生了变化。
【讨论】:
以上是关于通过 iPhone 在 Wordpress 网站上注册的响应的主要内容,如果未能解决你的问题,请参考以下文章
通过 Xampp 从本地托管的手机访问 wordpress 网站
在移动设备上使用 MAMP/wordpress 测试本地服务器?