gpt4 book ai didi

iphone - NSURLRequest - 为 NSURLRequest POST Body 编码 url (iPhone objective-C)

转载 作者:太空狗 更新时间:2023-10-30 03:20:19 27 4
gpt4 key购买 nike

我正在使用 NSURLRequest 发送帖子。

NSURL *url = [NSURL URLWithString:someUrlString];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [parameterString length]];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [parameterString dataUsingEncoding:NSUTF8StringEncoding]];

在请求的正文中,我正在对以下 NVP 进行编码:

returnURL= http://someSite.com

帖子顺利通过,但我收到错误消息。该错误表明 url 无效。

因此,我将其更改为:

returnURL=http:%2F%2FsomeSite.com

同样的错误。

我还使用 Todd Ditchendorf 的 HTTP 客户端对其进行了双重检查,结果相同。

我知道我一定是编码错误,谁能告诉我我做错了什么?

谢谢科里

**更新:感谢那些回答的人。我在我的 NVP 值中漏掉了一个符号。所以当然,一旦我修复它,一切都很好。我怀疑的是,帖子正文中的 url 编码不正确。我没有使用 ASIHTTPRequest 框架,但它确实帮助我解决了问题(对我需要的东西来说太过分了)。**

最佳答案

考虑使用 Ben Copsey 的 ASIHTTPRequest生成和发送同步和异步 HTTP 请求(POST 和 GET)的框架:

ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:@"http://someSite.com"] autorelease];
[request setPostValue:@"myValue1" forKey:@"myFormField1"];
[request setPostValue:@"myValue2" forKey:@"myFormField2"];
// etc.
[request start];
NSError *error = [request error];
if (!error)
NSString *response = [request responseString];

他的框架可以节省大量时间。

关于iphone - NSURLRequest - 为 NSURLRequest POST Body 编码 url (iPhone objective-C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787582/

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