AFNetworking POST 请求在发送 html 字符串作为参数时失败
AFNetworking POST request fails while sending html string as parameter
我正在发送 html 字符串
summary = "<p align=\"right\" style=\" \"><u><b><font face=\".SF UI Text\" style=\" font-size:16px; color:rgb(0,0,0); \" >Paras</font></b></u></p>"
作为POST参数,但是每次都请求失败。
并且这个请求字典被AFNetworking转换成json string like
"summary" : "<p align=\"right\" style=\" \"><u><b><font face=\".SF UI Text\" style=\" font-size:16px; color:rgb(0,0,0); \" >Paras<\/font><\/b><\/u><\/p>"
我觉得可能有问题,但我不确定。
我不知道为什么仅当我将参数作为 html 字符串发送时请求才会失败。
[requestDict setObject:htmlString forKey:@"summary"];
如上设置请求字典
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setTimeoutInterval:60.0];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"accessToken"] != nil)
{
// NSLog(@"%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"accessToken"]);
[manager.requestSerializer setValue:requestAuthorization forHTTPHeaderField:@"Authorization"];
}
// NSLog(@"%@", requestAuthorization);
[manager.requestSerializer setValue:@"guest" forHTTPHeaderField:@"user_type"];
[manager.requestSerializer setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:[[[UIDevice currentDevice] identifierForVendor] UUIDString] forHTTPHeaderField:@"device_id"];
[manager.requestSerializer setValue:[[UIDevice currentDevice] systemVersion] forHTTPHeaderField:@"device_os"];
[manager.requestSerializer setValue:[[UIDevice currentDevice] systemName] forHTTPHeaderField:@"device_name"];
[manager POST:url parameters:parameters success:success failure:failure];
如有任何帮助,我们将不胜感激。
谢谢
NSString * htmlstring =[NSString stringWithFormat:@"<p align=\"right\" style=\" \"><u><b><font face=\".SF UI Text\" style=\" font-size:16px; color:rgb(0,0,0); \" >Paras</font></b></u></p>"];
NSString *strRequetURL = [NSString stringWithFormat:@"url"];
[[AFHTTPRequestSerializer serializer] setTimeoutInterval:30];
[[AFHTTPRequestOperationManager manager] POST:strRequetURL parameters:dictParameter success:^(AFHTTPRequestOperation *operation, id responseObject) {
completion(responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error %@",error.description);
// DisplayAlert(@"Network Connection Timed Out");
}];
请使用此代码,让我知道您得到了什么
我正在发送 html 字符串
summary = "<p align=\"right\" style=\" \"><u><b><font face=\".SF UI Text\" style=\" font-size:16px; color:rgb(0,0,0); \" >Paras</font></b></u></p>"
作为POST参数,但是每次都请求失败。 并且这个请求字典被AFNetworking转换成json string like
"summary" : "<p align=\"right\" style=\" \"><u><b><font face=\".SF UI Text\" style=\" font-size:16px; color:rgb(0,0,0); \" >Paras<\/font><\/b><\/u><\/p>"
我觉得可能有问题,但我不确定。 我不知道为什么仅当我将参数作为 html 字符串发送时请求才会失败。
[requestDict setObject:htmlString forKey:@"summary"];
如上设置请求字典
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setTimeoutInterval:60.0];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"accessToken"] != nil)
{
// NSLog(@"%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"accessToken"]);
[manager.requestSerializer setValue:requestAuthorization forHTTPHeaderField:@"Authorization"];
}
// NSLog(@"%@", requestAuthorization);
[manager.requestSerializer setValue:@"guest" forHTTPHeaderField:@"user_type"];
[manager.requestSerializer setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:[[[UIDevice currentDevice] identifierForVendor] UUIDString] forHTTPHeaderField:@"device_id"];
[manager.requestSerializer setValue:[[UIDevice currentDevice] systemVersion] forHTTPHeaderField:@"device_os"];
[manager.requestSerializer setValue:[[UIDevice currentDevice] systemName] forHTTPHeaderField:@"device_name"];
[manager POST:url parameters:parameters success:success failure:failure];
如有任何帮助,我们将不胜感激。 谢谢
NSString * htmlstring =[NSString stringWithFormat:@"<p align=\"right\" style=\" \"><u><b><font face=\".SF UI Text\" style=\" font-size:16px; color:rgb(0,0,0); \" >Paras</font></b></u></p>"];
NSString *strRequetURL = [NSString stringWithFormat:@"url"];
[[AFHTTPRequestSerializer serializer] setTimeoutInterval:30];
[[AFHTTPRequestOperationManager manager] POST:strRequetURL parameters:dictParameter success:^(AFHTTPRequestOperation *operation, id responseObject) {
completion(responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error %@",error.description);
// DisplayAlert(@"Network Connection Timed Out");
}];
请使用此代码,让我知道您得到了什么