Какао HTTP POST для именованных текстовых полей - PullRequest
0 голосов
/ 21 ноября 2011

Я хочу создать программу для какао, которая просто отправляет данные, введенные в текстовые поля, в форму HTTP.

У меня есть все детали соединения, я просто не могу получить опубликованную строку для текстовых полей. Вот что у меня за форма:

<html>
<body>

<form action='test.php' method='post'>
    Name: <input type='text' name='nameOfPerson'/>
    Age:  <input type='text' name='ageOfPerson'/>
    <input type='submit'/>
</form>

</body>
</html>

и для какао ...

NSMutableURLRequest *request = [[NSMutableURLRequest alloc]
                                    initWithURL:[NSURL URLWithString:@"http://localhost:8888/CocoaFormPractice/form.html"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:@"text/html" forHTTPHeaderField:@"Content-type"];

    NSString *xmlString = @"nameOfPerson:test&ageOfPerson:123";

    [request setValue:[NSString stringWithFormat:@"%d", [xmlString length]] forHTTPHeaderField:@"Content-length"];
    [request setHTTPBody:[xmlString dataUsingEncoding:NSUTF8StringEncoding]];

    [[NSURLConnection alloc] initWithRequest:request delegate:self];
    [request release];

Я знаю, что значение, которое я использую в xmlString, является поддельным, и даже не XML.

1 Ответ

0 голосов
/ 21 ноября 2011

Вы в основном на правильном пути:

Замените двоеточие ":" в xmlString знаком "=".

NSString *xmlString = @"nameOfPerson=test&ageOfPerson=123";

Кроме того, это не XML, так что вы можете простовместо этого назовите его «queryString».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...