私はMacアプリに取り組んでおり、githubAPIからGetHTTPリクエストを作成しようとしていますが、このリクエストは条件付きリクエストであり、次のようになります。
https://api.github.com/repos/soviettoly/sandbox/events -H "If-Modified-Since: Sat, 13 Oct 2012 23:35:10 GMT"
そのリクエストでcurl-iを実行すると、必要なものがすべて取得されます。しかし、私はXCodeでこれを試みており、githubから404が返されます。
これが私がリクエストを行う方法です:
NSMutableString * theURL = [[NSMutableString alloc]initWithString:@"https://api.github.com/repos/soviettoly/sandbox/events -H \"If-Modified-Since: Sat, 13 Oct 2012 23:35:10 GMT\""];
NSLog(@"the normal %@",theURL);
NSString * escaped = [theURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"the escpaed %@", escaped);
NSURL * test = [NSURL URLWithString: escaped];
NSLog(@"actual URL %@",test);
NSURLRequest * request = [NSURLRequest requestWithURL:test];
[[NSURLConnection alloc]initWithRequest:request delegate:self];
NSLogコマンドからの出力は私にこれを与えます:
the normal https://api.github.com/repos/soviettoly/sandbox/events -H "If-Modified-Since: Sat, 13 Oct 2012 23:35:10 GMT"
the escpaed https://api.github.com/repos/soviettoly/sandbox/events%20-H%20%22If-Modified-Since:%20Sat,%2013%20Oct%202012%2023:35:10%20GMT%22
actual URL https://api.github.com/repos/soviettoly/sandbox/events%20-H%20%22If-Modified-Since:%20Sat,%2013%20Oct%202012%2023:35:10%20GMT%22
XCodeでリクエストを行っても、curlコマンドで正しい結果が返されるのに、なぜ返されるのかわかりません。エスケープ文字を使用せずに試しましたが、XCodeには不正な文字が含まれているためURLが好きではありません。XCodeでこの種の呼び出しを行う方法がわかりません。私はGitHubに対して他のAPI呼び出しを問題なく行っていますが、これで問題が発生しています。誰かがヘップできればそれは素晴らしいことです。どうもありがとう!