相关疑难解决方法(0)

Objective-C和Swift URL编码

NSString喜欢这样的:

http://www.
Run Code Online (Sandbox Code Playgroud)

但我想将其转换为:

http%3A%2F%2Fwww.
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

objective-c urlencode nsstring ios swift

135
推荐指数
3
解决办法
11万
查看次数

Objective-c iPhone百分比编码一个字符串?

我想获取这些特定字母的百分比编码字符串,如何在objective-c中执行此操作?

Reserved characters after percent-encoding
!   *   '   (   )   ;   :   @   &   =   +   $   ,   /   ?   #   [   ]
%21 %2A %27 %28 %29 %3B %3A %40 %26 %3D %2B %24 %2C %2F %3F %23 %5B %5D
Run Code Online (Sandbox Code Playgroud)

百分比编码维基

请使用此字符串进行测试,看看它是否有效:

myURL = @"someurl/somecontent"
Run Code Online (Sandbox Code Playgroud)

我希望字符串看起来像:

myEncodedURL = @"someurl%2Fsomecontent"
Run Code Online (Sandbox Code Playgroud)

我试过stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding已经但它不起作用,结果仍然与原始字符串相同.请指教.

iphone objective-c

70
推荐指数
5
解决办法
5万
查看次数

URL编码字符串

我收到一个json数据对象,然后我从中提取一个字符串

NSDictionary *jsonDictionary = [NSJSONSerialization JSONObjectWithData:data
                                                               options:0
                                                                 error:nil];
NSString *country=jsonDictionary[@"address"][@"country"];
Run Code Online (Sandbox Code Playgroud)

然后我尝试使字符串适合在URL中使用

NSString *newCountryString = [country stringByReplacingOccurrencesOfString:@" "  
   withString:@"%%20"];
Run Code Online (Sandbox Code Playgroud)

但它不起作用

如果我硬编码newCountryString它会工作,为什么呢?

url json objective-c ios

15
推荐指数
2
解决办法
3万
查看次数

使用NSURLSession获取JSON数据

我试图使用NSURLSession从谷歌距离api获取数据,但如下所示,当我打印响应和数据时,我得到的结果为NULL.可能是什么问题?或者是否有任何其他更好的方法来获取JSON数据.

NSString *urlAsString = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver+BC|Seattle&destinations=San+Francisco|Victoria+BC&mode=bicycling&language=fr-FR&key=API-KEY"];

NSURL *url = [NSURL URLWithString:urlAsString];


NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];

[[session dataTaskWithURL:[NSURL URLWithString:urlAsString]
            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

                NSLog(@"RESPONSE: %@",response);
                NSLog(@"DATA: %@",data);


            }] resume];
Run Code Online (Sandbox Code Playgroud)

iphone json objective-c ios nsurlsession

7
推荐指数
1
解决办法
1万
查看次数

将Torrent info_hash从bencoded转换为URLEncoded数据

我在objective-c中创建了torrent scraper,我正在使用AFNetworking来处理HTTP请求.我需要发送跟踪器请求的元信息部分的sha1哈希值.我已成功创建哈希并验证它是否正确.我不能将哈希值放在NSString中,因为它不对二进制数据进行编码,因此我将它放在NSData对象中,然后在要发送的参数中.这就是我现在所拥有的,但我总是得到一个错误,我会假设它是使用我用来发送哈希的方法.我也尝试过编码哈希的url然后把它放在NSString中但没有用

 NSMutableDictionary *parameters = [NSMutableDictionary dictionary];

 unsigned char infoHash[20];
 [self.tracker generateTorrentInfoHash:infoHash];

 const char peer_id[20] = "randomstringfornow";

[parameters setObject:[NSData dataWithBytes:&infoHash length:20] forKey:@"info_hash"];    
[parameters setObject:[NSData dataWithBytes:&peer_id length:20] forKey:@"peer_id"];
[parameters setObject:@(8080) forKey:@"port"];
[parameters setObject:@(0) forKey:@"uploaded"];
[parameters setObject:@(self.tracker.metaInfo.totalFileSize) forKey:@"left"];
[parameters setObject:@(0) forKey:@"downloaded"];
[parameters setObject:@(0) forKey:@"compact"];
[parameters setObject:@"stopped" forKey:@"event"];


[self getPath:@"" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"%@",operation.responseString);


   } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"%@",operation.responseString);
}];
Run Code Online (Sandbox Code Playgroud)

有没有人知道AFNetworking是否有可能这样做,或者我希望错过一些简单的事情.

bittorrent http objective-c ios afnetworking

6
推荐指数
1
解决办法
1115
查看次数

Objective-C HTTP POST请求

我正在使用使用HTTP的SMS网关.我使用有关stackoverflow等的教程和问题创建了一个请求,但是出了点问题.当我手动输入URL时,我可以毫无问题地使用网关,但我不能以编程方式进行,所以我想我的代码可能不对.感谢任何帮助!

NSString *post = [NSString stringWithFormat:@"user=%@&password=%@&api_id=%@&to=%@&text=%@",_username,_password,_apiID,[_numbers componentsJoinedByString:@","],_txtMsg.text];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://api.mySmsGateWay.com/http/sendmsg"]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *responseCode = nil;

NSData *oResponseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&responseCode error:&error];

if([responseCode statusCode] != 200){
    NSLog(@"Error getting, HTTP status code %i", [responseCode statusCode]);
}

NSLog (@"%@", [[NSString alloc] initWithData:oResponseData encoding:NSUTF8StringEncoding]);
Run Code Online (Sandbox Code Playgroud)

post http objective-c ios

6
推荐指数
1
解决办法
1万
查看次数

Objective - C stringByAddingPercentEncodingWithAllowedCharacters不起作用

我有一个像ANC和SHO.pdf这样的网址

当我像这样编码URL时:

NSString *escapedString = [PDFPath stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];
Run Code Online (Sandbox Code Playgroud)

现在,当我使用这个URL它不起作用,我感觉它与&有关,因为当我尝试另一个文件时,它完美地工作,我能够加载PDF,但文件与&我不是.

我究竟做错了什么?

这是escapedString的输出

escapedString   __NSCFString *  @"Ancaster%5CANC%20&%20SHO%20-%20Laundry%20Closets%20to%20be%20Checked.pdf" 0x16ea33c0
Run Code Online (Sandbox Code Playgroud)

然后我用它来调用一个方法:

NSArray *byteArray = [dataSource.areaData GetPDFFileData:[NSString stringWithFormat:@"%@",escapedString]];
Run Code Online (Sandbox Code Playgroud)

这是方法:

-(NSArray *)GetPDFFileData:(NSString *)PDFFile
{
    NSString *FileBrowserRequestString = [NSString stringWithFormat:@"%@?PDFFile=%@",kIP,PDFFile];
    NSURL *JSONURL = [NSURL URLWithString:FileBrowserRequestString];
    NSURLResponse* response = nil;
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:JSONURL];
    NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
    if(data == nil)
        return nil;
    NSError *myError;
    NSArray *tableArray = [[NSArray alloc]initWithArray:[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&myError]];
    return tableArray;
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios

5
推荐指数
1
解决办法
7761
查看次数

如何在iPhone中实现谷歌搜索应用程序

我是iPhone开发的新手.我正在制作一个应用程序,我需要实现Google搜索应用程序并显示以下结果...

如果有任何教程来实现此应用程序,任何人都可以请帮助.有没有教程?
我认为下面给出的代码是正确的,如果是这样,那么应该添加什么才能使它工作?

谢谢

NSLog(@"%@",searchBarGoogle.text);
NSString *string1 = [[NSString alloc] initWithFormat:@"%@",searchBarGoogle.text];
NSString *string = [NSString stringWithFormat:@"http://www.google.com/search?q=%@",string1];
NSURL *url = [NSURL URLWithString:string];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
Run Code Online (Sandbox Code Playgroud)

iphone search objective-c ios

4
推荐指数
1
解决办法
5517
查看次数

Objective-C NSURL具有非字母字符

我正在尝试使用特殊字符创建一个NSURL,如"","|"," - ",":"等.如果我的字符串中有任何这些字符,则NSURL不会初始化.如何使用这些字符创建NSURL?以下不起作用:

NSURL *url = [[NSURL alloc] initWithString:@"http://google.com?id=|test|"]; //if i remove the | it works. 
Run Code Online (Sandbox Code Playgroud)

xcode objective-c nsurl non-ascii-characters ios

1
推荐指数
1
解决办法
1265
查看次数