我是Xcode的初学者。我必须做一个从我在微控制器MICROCHIP中设计的嵌入式web服务器获取和发送数据的应用程序。
现在我可以从网络服务器获取信息(在我的网络服务器中,我有一个/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];
答案 0 :(得分: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
在请求期间将包含错误&响应,如果有任何错误。