2011-02-17 27 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]; 
相關問題