- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用名为“Poster”的 Firefox 工具来检查我的 Web 服务是否正常工作。当我发布请求时,我在要发送的内容中发送一个 JSON 对象(也调用 HTTP body data )。
当我按下 POST 按钮时,结果很好。
现在我想对 RestKit 做同样的事情在 Objective-C 中:
NSString *squery = @"{\"Sort\":\"Relevance\",\"DaysToSearch\":0,\"WorkType\":\"\",\"PageSize\":20,\"LastRunCount\":0,\"IndustryCodes\":[\"\"],\"AccountId\":27,\"Experience\":\"\",\"GetResultCount\":0,\"Keywords\":\"iOS\",\"PageIndex\":0,\"DistanceFromLocation\":\"250\",\"SalaryType\":\"\",\"JobQueryId\":\"\",\"JobTitleCodes\":[\"\"]}";
RKObjectLoader *objectLoader = [[RKObjectManager sharedManager] objectLoaderWithResourcePath:url delegate:performJobQueryHandler];
objectLoader.method = RKRequestMethodPOST;
objectLoader.objectMapping = s.jobQueryDataMapper;
objectLoader.HTTPBody = [squery dataUsingEncoding:NSUTF8StringEncoding];
objectLoader.serializationMIMEType = RKMIMETypeJSON;
[objectLoader send];
结果我得到:“发生了非故障异常。”
在 FireFox 扩展“Poster”中,如果我使用与“application/json”不同的我的类型,比如说“application/x-www-form-urlencoded”,我会得到同样的错误:“发生非故障异常。 “
objectLoader.serializationMIMEType = RKMIMETypeJSON; 有问题吗? ???
马丁·马加基安
最佳答案
好吧,我想我知道了。
我用
激活了 RestKit 调试RKLogConfigureByName("RestKit/Network", RKLogLevelTrace);
然后我得到:
2012-02-14 11:55:48 [4048:207] T restkit.network:RKRequest.m:318 Prepared POST URLRequest '<NSMutableURLRequest http://servicestest.foo.com/jobservice/jobservice.svc/json/jobquery>'. HTTP Headers: {
Accept = "application/json";
"Content-Type" = "application/x-www-form-urlencoded";
}. HTTP Body: Sort=Relevance&DaysToSearch=0&WorkType=&SalaryType=&LastRunCount=0&IndustryCodes[]=&Experience=&AccountId=0&GetResultCount=0&PageIndex=0&DistanceFromLocation=250&PageSize=20&JobQueryId=&JobTitleCodes[]=.
所以我认为使用 RKObjectLoader 对象不关心 objectLoader.serializationMIMEType = RKMIMETypeJSON;因为 Content-Type 仍然是 "Content-Type"= "application/x-www-form-urlencoded";而不是 "Content-Type"= "application/json";
您认为这是错误还是正常行为?
关于iphone - 使用 restkit 发送 HTTPBody 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9256732/
我想创建 POST 方法的主体 Content-Type: application/x-www-form-urlencoded 我有一本字典 let params = ["key":"val","ke
我有; let parameters = [ "generalSearchInput": search, "requireAllWords":
概览 有2个URLRequest,一个有httpBody,一个没有httpBody。 然而,当比较时,它表明两者是相等的。 问题 这是预期的行为还是我遗漏了什么? 代码 let url = URL(s
我已将 Firebase 与我的 iOS 项目以及此处提到的所有必要步骤集成 https://firebase.google.com/docs/cloud-messaging/ios/client但它
这是我向服务器发送请求的操作。 let urlStr = "someurl" var request = URLRequest(url: URL(string: urlStr)!)
弄清楚了,见下文: 我正在尝试创建一个程序,可以将文本文件的内容快速传递给 http POST 请求。我正在存储在文本文件中运行的 API 查询的过滤器,并希望将它们作为 JSON 对象(?我认为,无
我想将另一个字典作为参数附加到 URLRequest 的 httpBody 请求模型: struct RequestModel: Encodable { let body: Body } st
我想使用 NSURLSessionUploadTask 和 fileUrl API 上传一个大文件。下面的代码是我写的上传一个大文件。我发现了这些问题: 在 -URLSession:task:didC
我正在创建一个演示 Web 服务代码而不使用 AFNetworking 框架。我的 HTTP Request Dictionary 中的参数。如何在 HTTPBody 上设置它? 我的代码如下 NSM
我正在尝试将项目的大部分使用 NSURLConnection 的 NSURLRequest 转换为 ASIHTTPRequest 调用。我遇到了关于在 ASIHTTPRequest 中设置 HTTPB
我正在使用名为“Poster”的 Firefox 工具来检查我的 Web 服务是否正常工作。当我发布请求时,我在要发送的内容中发送一个 JSON 对象(也调用 HTTP body data )。 当我
我正在尝试向 Twitter API 发送 POST 请求以获取 bearer_token 作为仅应用程序身份验证的一部分。我已经按照他们的文档 ( https://dev.twitter.com/o
我有我的 NSURLProtocol MyGreatProtocol。我将它添加到 URL 加载系统, NSURLProtocol.registerClass(MyGreatProtocol) 然后我
我需要使用 HTTPBody of Array 向我的服务器发送一个发布请求。这是我的参数数组: params = [ "message" : [
我正在向某个 URL 发帖,我的 webDev 告诉我需要设置 "data=" 作为参数,我的 JSONObject 作为键。我不知道如何将字符串设置为参数。 我尝试在 request.httpBod
如何使用 alamofire 多部分请求 Swift 打印 HTTPBody 现在我正在尝试使用下面的代码,但应用程序在此行崩溃 print("HTTP Body \(String(data: (re
我试图在 Objective-C 的 POST 请求上传递两个不同的参数。 第一个参数应该放在 Header 上,另一个应该放在 Body 上。 NSDictionary *headerParams
我正在对服务器进行 POST 调用,但 Alamofire 始终将正文作为 JSON 而不是作为编码的表单 URL 发送,我知道为了对正文进行编码,我必须插入 data(使用: .utf8, allo
我在请求中传递了 HTTPBody。但无法得到应有的回应。 下面是我的代码: NSURL *url = [NSURL URLWithString:@"https://sample.ios.com/l1
有没有一种方法可以使用 Combine 将对象编码为 urlRequest.httpBody 或从解码为具有特定错误类型的 AnyPublisher 返回错误。 我无法让它工作,而且似乎没有使用 co
我是一名优秀的程序员,十分优秀!