2011-10-25 10 views
1

obj c、ASIFormDataRequestを使用してウェブサイトのメンバーエリアにログインしようとしています。私は本当に助けが必要です。私は今立ち往生した。私はそれを動作させるために何をするでしょうか? サンプルコードは素晴らしいでしょう。おかげさまで ASIFormDataRequestログインphp。 help

インターネット上のログインページ:

<form action="https://www.example.org/login.php" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)"> 


<input type="hidden" name="do" value="login" /> 
<input type="hidden" name="url" value="/login.php" /> 
<input type="hidden" name="vb_login_md5password" /> 
<input type="hidden" name="vb_login_md5password_utf" /> 


<fieldset class="fieldset"> 
<td>Username:<br /><input type="text" name="vb_login_username"/> 
<td>password:<br /><input type="password" name="vb_login_password"/> 

<label for="cb_cookieuser"><input type="checkbox" name="cookieuser" value="1" id="cb_cookieuser"/>Remember me?</label> 
<input type="submit" class="button" value="Logga in" accesskey="s" tabindex="1" /> 
<input type="reset" class="button" value="&Aring;terst&auml;ll f&auml;lt" accesskey="r" tabindex="1" /> 
</table> 
</fieldset> 


</form> 

私のこれまでのコード:

NSString *username, *password; 
     username = [NSString stringWithFormat:@"%@", usernameField.text]; 
     password = [NSString stringWithFormat:@"%@", passwordField.text]; 
     NSLog(@"Trying to sign in with user:%@ pass:%@",username,password); 

     ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"https://www.example.org/login.php"]]; 
     [request setPostValue:username forKey:@"vb_login_username"]; 
     [request setPostValue:password forKey:@"vb_login_password"]; 
     [request setTimeOutSeconds:120]; 
     [request setDelegate:self]; 
     [request startAsynchronous]; 

+ (NSString*)md5HexDigest:(NSString*)input { 
    const char* str = [input UTF8String]; 
    unsigned char result[CC_MD5_DIGEST_LENGTH]; 
    CC_MD5(str, strlen(str), result); 

    NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH*2]; 
    for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) { 
     [ret appendFormat:@"%02x",result[i]]; 
    } 
    return ret; 
} 
+0

あなたはどんな問題に直面していますか – Gypsa

答えて

0

いつかあなたNSURLURLWithString、 を使用して適切に行わないのはなぜあなたが2 nsstring NSString *username, *password;を作成しましたあなたがそれらを変更していない場合は、次のように直接使用することができます: -

試してみてください: -

NSString *str = @"https://www.example.org/login.php"; 
    NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
    [request setPostValue:usernameField.text forKey:@"vb_login_username"]; 
    [request setPostValue:passwordField.text forKey:@"vb_login_password"]; 
    [request setTimeOutSeconds:120]; 
    [request setDelegate:self]; 
    [request startAsynchronous]; 
    NSLog(@"%@",[request responseString]); 
    NSLog(@"%d",[request responseStatusCode]);