2011-02-17 25 views
2

我正在尝试为网站制作应用程序(有点像Facebook应用程序)。问题是,登录需要启用javascript。我找不到指出使用不属于UIWebView类的JavaScript的文档中的任何内容。反正有没有在iPhone上使用WebView而不使用JavaScript?

+0

该网站是否有一个API来使用?这听起来像你正在尝试使用网站使用的相同HTML表单数据进行身份验证。 – 2011-02-17 02:05:05

+0

是的,那正是我目前正在尝试做的。我会说没有API。这实际上是我的大学网站。在移动浏览器上导航非常糟糕,所以我想我会尝试为它制作应用程序。 – CnnrmN 2011-02-17 02:19:29

回答

0

我工作的公司也一样。你实际上正在接近这个错误的方式。 NSURLConnection允许您将所有需要的信息传递给服务器,例如用户名和密码。有时会使用Javascript提交其他参数。你需要做的是扫描这个变量名的必要页面,基本上使用一个标记器获取变量,然后使用NSURLConnection POST/GET或者他的URL的一部分(或者其他方式)将其发送回服务器。让我知道你是否想要更多关于我如何做的细节。

这里的代码,不会在NSURLConnection的使用JavaScript值块:

if (postData) { 
     [theRequest setHTTPMethod:HTTP_METHOD_POST]; 
     [theRequest setValue:FORM_ENCODING forHTTPHeaderField:@"Content-Type"]; 
     [theRequest setHTTPBody:postData]; 
    } 
    if(cookies) 
     [theRequest setAllHTTPHeaderFields:cookies]; 
    connection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self startImmediately:YES]; 

的POSTDATA在矿是像绳子,他的形式:“用户名= Rudigern &密码= thePassword & JSVariable = somelongtoken “

这当然是特定于网站,通过扫描JSVariable的页面来完成某些longtoken。有些网站还需要cookie以及这些变量,这是由cookie行完成的。该请求的类型为NSURLMutableRequest。

这是怎么看的令牌:

[scanner scanUpToString:@"JSVariable=" intoString:somelongtoken]; 
相关问题