gpt4 book ai didi

ios - NSMutableURLRequest 在设备上发送空值但在浏览器中有效

转载 作者:行者123 更新时间:2023-11-29 11:06:02 26 4
gpt4 key购买 nike

在您阅读本文之前,请记住我是一名 Objective C 程序员,正试图帮助一位对我的工作一无所知的 C# 程序员调试服务器问题。

我正在向 .net/c# 端发送一个 SOAP 数据包,服务器接收到变量的空值。当 url 和变量字符串被放入浏览器时,我得到了正确的响应。

帖子注销到“?help=1& email=test@email.net & password=testpassword”,但我不断收到“Result=Error&Details=Object reference not set to an instance of an object”。返回我的返回字符串。

NSString *post = [NSString stringWithFormat:@"?help=1& email=? & password=%@",userEmail, userPassword];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];


NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
[request setURL:[NSURL URLWithString:LOGIN_SERVICE]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

//Submit the Post:
[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

/NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

//Extract Return:
NSString *returnString = [[NSString alloc]initWithData:returnData encoding:NSUTF8StringEncoding];

最佳答案

格式字符串中的电子邮件变量未被填充。而且,为什么你的帖子数据中有空格?我想这会导致您的问题。因为您的数据可以包含空格,所以您需要对它们进行转义。

代替:

NSString *post = [NSString stringWithFormat:@"?help=1& email=? & password=%@",userEmail, userPassword];

尝试:

NSString* escapedUserEmail = [userEmail stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* escapedUserPassword = [userPassword stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];

NSString *post = [NSString stringWithFormat:@"?help=1&email=%@&password=%@",escapedUserEmail, escapedUserPassword];

有关该主题的更多阅读,请参阅:http://deusty.blogspot.com/2006/11/sending-http-get-and-post-from-cocoa.html

关于ios - NSMutableURLRequest 在设备上发送空值但在浏览器中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13575001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com