通过iOS应用程序登录到网页
我找不到任何关于以下方面的有用信息: 如何在网页上发布登录日期(用户名和密码)和登录 我知道有AFNetworking,但是没有AFNetworking还有解决方案吗?如果没有,我如何使用AFN管理它?我真的不能参加AFN的活动。(是的,我知道,我很烂) 以下是网站的登录代码:通过iOS应用程序登录到网页,ios,login,webrequest,Ios,Login,Webrequest,我找不到任何关于以下方面的有用信息: 如何在网页上发布登录日期(用户名和密码)和登录 我知道有AFNetworking,但是没有AFNetworking还有解决方案吗?如果没有,我如何使用AFN管理它?我真的不能参加AFN的活动。(是的,我知道,我很烂) 以下是网站的登录代码: <div class="moduletable"> <form action="/" method="post" id="form-login" >
<div class="moduletable">
<form action="/" method="post" id="form-login" >
<fieldset class="input">
<p id="form-login-username">
<label for="modlgn_username">Benutzername</label>
<input id="modlgn_username" type="text" name="username" class="inputbox" size="18" />
</p>
<p id="form-login-password">
<label for="modlgn_passwd">Passwort</label><br />
<input id="modlgn_passwd" type="password" name="password" class="inputbox" size="18" />
</p>
<p id="form-login-remember">
<label for="modlgn_remember">Angemeldet bleiben</label>
<input id="modlgn_remember" type="checkbox" name="remember" class="inputbox" value="yes"/>
</p>
<input type="submit" name="Submit" class="button" value="Anmelden" />
<input type="hidden" name="option" value="com_users" />
<input type="hidden" name="task" value="user.login" />
<input type="hidden" name="return" value="aW5kZXgucGhwP0l0ZW1pZD0yODk=" />
<input type="hidden" name="f8abbfe43b9acc4830bb59c5b35cd9ef" value="1" /> </fieldset>
<!--<ul>
<li>
<a href="/component/users/?view=reset">
Passwort vergessen?</a>
</li>
<li>
<a href="/component/users/?view=remind">
Benutzername vergessen?</a>
</li>
</ul>!-->
</form>
</div>
真的!非常感谢,我确实需要得到这个。首先,你不应该发送同步请求。从用户体验的角度来看,这是完全不可接受的。仅用于测试 其次,通过
NSURLConnection
和web视图发送请求,可以复制请求。要么将结果加载到连接调用的返回值中(它的类型为NSData
,您将忽略它);或者您只需调用web视图loadRequest
(这是异步的)
第三,应该包括
隐藏的
数据字段。很可能您的web服务器需要这些参数来提供有效响应。除了您没有添加的参数之外,您当前的解决方案有什么问题?它没有显示为已登录的Inca u,请给我一个如何包含隐藏数据字段的示例?与其他字段相同:…&option=com\u users&task=user.login…
等。只需将其添加到字符串中即可。我将字符串更改为:NSString*str=@“username=blabla&&password=blub&&option=com_users&&task=user.login&&return=AW5KZGUCGHWP0ZW1PZD0YODK=&&F8ABBFE43B9AC4830BB59C5B35CD9EF=1";代码>现在,网页给我一个错误,我的会话已过时,我需要重新登录,这是一个成功的结果,到目前为止,该页面可以识别我的帖子,但我只想使用web视图的loadRequest
登录inTry。这就是你在iOS端所要做的一切。剩下的问题实际上是一个服务器问题(然后你应该接受这个问题并问一个新的问题)。但是这个问题没有解决!我仍然得到提到的错误
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.ohg-bensberg.info/component/users/?view=login"]];
[request setHTTPMethod:@"post"];
NSString *string = @"username=blubbblubb&password=blabla";
[request setHTTPBody:[string dataUsingEncoding:NSUTF8StringEncoding]];
NSError *error=nil;
NSURLResponse *response=nil;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
[webView loadRequest:request];