0

我是 Xcode 的初学者。我必须做一个应用程序,从我在微控制器 MICROCHIP 中设计的嵌入式网络服务器获取和发送数据。现在我可以从网络服务器获取信息(在我的网络服务器中,我有一个/status.xml文件,其中包含所有动态变量)

现在我无法单击按钮。单击按钮的 HTML 代码是

onmousedown="newAJAXCommand('buttons.cgi?btn=1')"

在我的网络服务器中,我有一个文件buttons.cgi

我的目标是在 Xcode 中设计了一个按钮,他执行此操作

我尝试使用NSMutableURLRequest类和SetHTTPMethod:@"GET"@"POST"但此代码不起作用

    NSString *post = @"btn=1";
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES ];
    NSString *Get_lenght = [NSString stringWithFormat:@"%d",[postData length]];
    NSURL *serviceURL = [NSURL URLWithString:@"http://mywebserver.com/buttons.cgi?"];
    NSMutableURLRequest *serviceRequest = [NSMutableURLRequest requestWithURL:serviceURL];
    [serviceRequest setValue:Get_lenght forHTTPHeaderField:@"Content-type"];
    [serviceRequest setHTTPMethod:@"POST"];
    [serviceRequest setHTTPBody:postData];
4

1 回答 1

1

代码中有多个错误:

NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES ];

你为什么不使用 UTF-8 ?

NSString *Get_lenght = [NSString stringWithFormat:@"%d",[postData length]];
[serviceRequest setValue:Get_lenght forHTTPHeaderField:@"Content-type"];

您不能设置Content-Type为整数。

最后,您没有发送NSMutableURLRequest. 要发送请求,请使用:

NSString *response;
NSError *error;
[NSURLConnection sendSynchronousRequest:serviceRequest returningResponse:&response error:&error];

如果需要,其中response将包含响应数据;如果有任何错误,则在请求和error响应期间将包含错误。

于 2013-04-03T09:45:42.463 回答