在Objective C中单击HTML表单 - 就像在Python中使用mechanize一样

时间:2011-09-20 13:21:24

标签: python objective-c forms mechanize

我在Python中使用这个代码,使用mechanize非常简单,只需进入URL并单击提交按钮:

from mechanize import ParseResponse, urlopen, urljoin

response = urlopen("http://www.somesite.com/somepage")
forms = ParseResponse(response, backwards_compat=False)
form = forms[0]

print urlopen(form.click()).read()

现在的问题是:在Objective-C中是否有任何库/简单方法?

我已经看到一些或多或少类似的NSURL示例,其中相当大,但由于我将这一点做到一堆不同的网站,看起来像一些简单的事情去看几十个代码行如果有一些简单的方法,比如机械化,那么对每一个进行调试并调试所有内容。

此致 布鲁诺

1 个答案:

答案 0 :(得分:2)

检查此网站:http://allseeing-i.com/ASIHTTPRequest/ 它实际上并不是您想要的,但您可以将POST / GET值发送到表单操作页面。

如果您的网页http://test.com/form.php的格式如下:

<form name="login" method="POST" action="action.php">
    <input name="username"><br />
    <input name="password"><br>
    <input type="submit">
</form>

您可以使用此代码执行此表单。

NSURL *url = [NSURL URLWithString:@"http://test.com/action.php];
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
[request setPostValue:@"Admin" forKey:@"username"];
[request setPostValue:@"1234" forKey:@"password"];
[request startSynchronous];