通过iOS应用程序登录到网页

通过iOS应用程序登录到网页,ios,login,webrequest,Ios,Login,Webrequest,我找不到任何关于以下方面的有用信息: 如何在网页上发布登录日期(用户名和密码)和登录 我知道有AFNetworking,但是没有AFNetworking还有解决方案吗?如果没有,我如何使用AFN管理它?我真的不能参加AFN的活动。(是的,我知道,我很烂) 以下是网站的登录代码: <div class="moduletable"> <form action="/" method="post" id="form-login" >

我找不到任何关于以下方面的有用信息:

如何在网页上发布登录日期(用户名和密码)和登录

我知道有AFNetworking,但是没有AFNetworking还有解决方案吗?如果没有,我如何使用AFN管理它?我真的不能参加AFN的活动。(是的,我知道,我很烂)

以下是网站的登录代码:

    <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];