在iOS中使用NSURLConnection的表单数据请求

在iOS中使用NSURLConnection的表单数据请求,第1张

概述我想在iOS中使用NSURLConnection制作http表单帖子.我在 HTML表单中有两个表单字段和一个文件上载选项.当我使用NSURLConnection做同样的事情时,我没有得到回应. NSString *urlString = @"http://url/test.php";NSMutableURLRequest *request = [[NSMutableURLRequest all 我想在iOS中使用NSURLConnection制作http表单帖子.我在 HTML表单中有两个表单字段和一个文件上载选项.当我使用NSURLConnection做同样的事情时,我没有得到回应.
Nsstring *urlString = @"http://url/test.PHP";NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];[request setURL:[NSURL URLWithString:urlString]];[request sethttpMethod:@"POST"];Nsstring *ContentType = [Nsstring stringWithFormat:@"multipart/form-data"];[request addValue:ContentType forhttpheaderFIEld: @"Content-Type"];NSMutableData *body = [NSMutableData data];[body appendData:[[Nsstring stringWithString:@"Content-disposition: form-data; name=\"file\"; filename=\"myphoto.png\"rn"] dataUsingEnCoding:NSUTF8StringEnCoding]];[body appendData:[[Nsstring stringWithString:@"Content-Type: application/octet-streamrnrn"] dataUsingEnCoding:NSUTF8StringEnCoding]];[body appendData:filedata];[body appendData:[[Nsstring stringWithFormat:@"&s=YL4e6ouKirNDgCk0xV2HKixt&hw=141246514ytdjadh"] dataUsingEnCoding:NSUTF8StringEnCoding]];[request sethttpBody:body];NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];Nsstring *returnString = [[Nsstring alloc] initWithData:returnData enCoding:NSUTF8StringEnCoding];NSLog(@"RETURNED:%@",returnString);

但是,当我使用ASIHTTPRequest并编写以下代码时,它正在工作,我正在收到回复.

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://url/test.PHP"]];[request setPostValue:@"YL4e6ouKirNDgCk0xV2HKixt&hw" forKey:@"ssf"];[request setPostValue:@"141246514ytdjadh" forKey:@"sds"];[request setData:filedata withfilename:@"myphoto.png" andContentType:@"image/jpeg"  forKey:@"file"];[request startSynchronous];NSError *error = [request error];if (!error) {    Nsstring *response = [request responseString];    NSLog(@"response:%@",response);}

任何人都可以告诉我NSURLConnection部分我做错了什么?

解决方法 您没有复制该链接的示例.在该教程中,httpBody参数应该是NSData的实例,而不是Nsstring.
[request sethttpMethod:@"POST"]; Nsstring *myString = [Nsstring stringWithFormat:@"value1=test3&value2=test"];[request sethttpBody:[myString dataUsingEnCoding:NSUTF8StringEnCoding]];
总结

以上是内存溢出为你收集整理的在iOS中使用NSURLConnection的表单数据请求全部内容,希望文章能够帮你解决在iOS中使用NSURLConnection的表单数据请求所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1102383.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存