オブジェクトASIFormDataRequestを使用してWebサイトのメンバーエリアにログインしようとしています。本当に助けが必要です。私は今立ち往生しています。それを機能させるにはどうすればよいですか?サンプルコードは素晴らしいでしょう。ありがとう。
インターネット上のログインページ:
<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="Återställ fä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;
}