Tag: afnetworking

如何使用AFNetwork的AFHTTPRequestOperationManager设置HTTP请求正文?

我正在使用AFHTTPRequestOperationManager(2.0 AFNetworking库)REST POST请求。 但是pipe理者只需要调用参数。 -((AFHTTPRequestOperation *)POST:(NSString *)URLString parameters:(NSDictionary *)parameters success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure; 我需要设置一个string的HTTP请求正文。 我怎样才能使用AFHTTPRequestOperationManager? 谢谢。

SSL固定和AFNetworking 2.5.0的问题(NSURLErrorDomain错误-1012。)

我们一直在使用AFNetworking 2.5.0来确保我们的应用程序使用SSL的networking连接。 我们使用自签名证书颁发机构,并使用固定证书实施自定义安全策略。 我们已经testing了不less由AFNetworking提供的configuration,但到目前为止还没有幸运。 我们收到的错误消息是: 2015-01-05 19:03:07.191 AppName [9301:319051]更新用户旅程时出错。 (NSURLErrorDomain error -1012。)“UserInfo = 0x7ae056b0 {NSErrorFailingURLKey = https://api.XXX.com/XXX/XXX/,NSErrorFailingURLStringKey = https://api.XXX.com/XXX/XXX/ } 我们的证书可以在其他客户端(如cURL和Android)上正常工作。 当使用HTTP时,我们的实现工作也很好。 有没有人知道与固定证书和AFNetworking有关的任何问题? 如果是的话,我们将非常感谢你可能有的任何指针。 这是实现的一部分: + (AFSecurityPolicy*)customSecurityPolicy { AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone]; NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"der"]; NSData *certData = [NSData dataWithContentsOfFile:cerPath]; [securityPolicy setAllowInvalidCertificates:NO]; [securityPolicy setValidatesCertificateChain:NO]; [securityPolicy setPinnedCertificates:@[certData]]; return securityPolicy; } + […]

ASIHTTPRequest vs AFNetworking框架

我即将开发iPad的应用程序,它有大量的后台线程networking调用。 我想知道哪一个会更好? ASIHTTPRequest仍然有效,但不能保持。 但是很less有消息说AFNetworking框架会产生很多复杂的问题。

AFNetworking – 如何设置超时时重试的请求?

我最近从ASIHTTPRequest迁移到了非常棒的AFNetworking。 但是,我连接的服务器有一些问题,有时会导致我的请求超时。 使用ASIHTTPRequest时,可以使用以下select器在发生超时时设置请求的重试计数 -setNumberOfTimesToRetryOnTimeout: 这可以在这篇文章中进一步引用, ASIHTTPRequest是否可以重试? 这是AFNetworking,如果你不熟悉https://github.com/AFNetworking/AFNetworking#readme 我无法在AFNetworking中find等效的API,有没有人find一种解决scheme,在发生超时的情况下使用AFNetworking重试networking请求?

JSONparsing后–viewForAnnotation在MKMapView上只显示一个单一的注解

我需要在我的MkMapView上显示大约10个位置(和相应的注释),按下button之后,我需要根据不同的JSONparsing结果添加新的不同注释(例如locationIDValue <100表示​​红色针,否则为绿色)。 这是简化的代码: – (void)viewDidLoad { [super viewDidLoad]; map.showsUserLocation = true; map.mapType = MKMapTypeStandard; arrayID = [[NSMutableArray alloc] initWithObjects: @"id1", @"id2", @"id3", @"id4", @"id5", @"id6", @"id7", @"id8", @"id9", @"id10", nil]; #define MakeLocation(lat,lon) [[CLLocation alloc] initWithLatitude:lat longitude:lon] locations= @[ MakeLocation(lat1,lon1), MakeLocation(lat2,lon2), MakeLocation(lat3,lon3), MakeLocation(lat4,lon4), MakeLocation(lat5,lon5), MakeLocation(lat6,lon6), MakeLocation(lat7,lon7), MakeLocation(lat8,lon8), MakeLocation(lat9,lon9), MakeLocation(lat10,lon10) ]; for (int l=0; l<[locations count]; l++) […]

如何使用AFNetworking或STHTTPRequest来请求SOAP Web服务?

我能够使用NSURLConnection NSMutableURLRequest连接到SOAP Web服务,如下所示: NSString *soapMessage = [NSString stringWithFormat:@"<?xml version=\"1.0\" encoding=\"utf-8\"?>" "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" "<soap:Body>" "<CelsiusToFahrenheit xmlns=\"http://www.w3schools.com/webservices/\">" "<Celsius>140.0</Celsius>" "</CelsiusToFahrenheit>" "</soap:Body>" "</soap:Envelope>"]; NSData *soapData = [soapMessage dataUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:@"http://w3schools.com/webservices/tempconvert.asmx"]; NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; NSString *msgLength = [NSString stringWithFormat:@"%lu", (unsigned long)[soapMessage length]]; [theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; [theRequest addValue: @"http://www.w3schools.com/webservices/CelsiusToFahrenheit" forHTTPHeaderField:@"SOAPAction"]; [theRequest addValue:@"www.w3schools.com" […]

下载图像时调整UITableViewCell高度

我正在使用UIImageView+AFNetworking类别asynchronous图像加载。 一切工作正常,但我已经尝试了几件事情,并根据下载的图像调整单元格的高度不成功。 我想图像适合单元格的宽度,但调整高度,但我不知道如何做到这一点。 我已经尝试重新加载图像下载的行,但只是导致cellForRowAtIndexPath再次启动,并再次设置一切,等等几乎是一个recursion。 我正在计算新的图像大小差异,并将其存储在NSMutableArray ,然后重新加载在UIImageView的setImageWithURLRequest:placeholderImage:success:成功块中的行setImageWithURLRequest:placeholderImage:success: 我在heightForRowAtIndexPath得到了几行的正确高度,但是,表开始变得怪异,一切都在叠加等等。 有任何想法吗? 谢谢! 编辑 我最终使用了Ezeki的答案。 我也写了一个关于这个话题的post,并且使用这个技术做了一个示例应用程序。 看看这里 。

如何使用AFNetworking比较SSL证书

在我的iPhone应用程序中,我使用带有自签名SSL证书的https连接从服务器下载合理的数据(用户名和密码)。 这个应用程序仅供私人使用,并不意味着生产。 我正在使用AFNetworkingpipe理https连接,但是,由于我的证书没有从CA签名,为了使其工作,我不得不添加以下内容到AFURLConnectionOperation类的头部: #define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 但有了这个我的应用程序将允许任何证书。 有没有办法只允许从我的服务器的证书,可能捆绑在应用程序,并与服务器提供的证书在HTTPS连接提供的证书进行比较? 如果可能的话,在安全方面会有什么显着的优势吗? 我对安全非常陌生,我有些困惑。

kCFStreamErrorDomainSSL,当通过iOS 9中的HTTPS通过IP地址连接到服务器时为-9802

我们有一个iOS应用程序,通过HTTPS连接到我们的服务器。 当应用程序使用新的iOS 9 SDK构build并在iOS 9下运行时,会发生以下错误: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 该应用程序使用AFNetworking 1.3.4与固定的证书。 如果我使用其IP地址连接到服务器,则会出现问题。 它可以工作,如果我添加NSAllowsArbitraryLoadsconfiguration,或者如果我连接到服务器的域名。 Tomcat连接器configuration了sslEnabledProtocols =“TLSv1,TLSv1.1,TLSv1.2”。 我试图覆盖主机名,但似乎并没有改变任何东西。 我还找不到很多有关ATS的正式文件。 也许连接IP地址不应该工作?

志愿者匹配API Objective C

我正在使用AFNetworking在VolunteerMatch API上执行Web请求。 当我执行请求时,我收到一个200代码,但是我没有收到答复。 以下是典型的VolunteerMatch请求的样子: GET /api/call?action=helloWorld&query=… HTTP/1.1 Host: www.volunteermatch.org Accept-Charset: UTF-8 Content-Type: application/json Authorization: WSSE profile="UsernameToken" X-WSSE: UsernameToken Username="acme", PasswordDigest="quR/EWLAV4xLf9Zqyw4pDmfV9OY=", Nonce="d36e316282959a9ed4c89851497a717f", Created="2003-12-15T14:43:07-0700" 这里是扩展文档。 这是我用来提出请求的代码: // Create parameters NSDictionary* param = @{ @"action":@"helloWorld", @"query":@"{\"name\":\"john\"}" }; // Create Manager AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; manager.requestSerializer = [AFJSONRequestSerializer serializer]; // Add Headers [manager.requestSerializer setValue:@"WWSE […]