2012-01-08 5 views
1

私はiOSでHTTP Postを実行しており、これを使用してデータベース上のphp経由で挿入を実行しています。私はそれを挿入する値を与えるために幾分長いフォームを持っています、そして、それらをまとめて一つの文字列にします。これはURLを実行するために私のメソッドに含まれています(今はGETです。結果)、テストしてもそれは実行されません。作成したURLをコピーしてブラウザに貼り付け、その方法で実行できますが、iOSアプリケーションでは実行されません。iOS HTTP PostはURLを実行しません

私はASIHTTPRequestでも試してみましたが、いずれの結果も得られませんでした。ここで

は私のHTTP POSTメソッドである:

NSString *content = @""; 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:inserturl1]]; 
NSLog(inserturl1); 
[request setHTTPMethod:@"POST"]; 
[request setHTTPBody:[content dataUsingEncoding:NSUTF8StringEncoding]]; 


// generates an autoreleased NSURLConnection 
[NSURLConnection connectionWithRequest:request delegate:self]; 

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 
NSArray *results = [returnString componentsSeparatedByString:@"<br />"]; 
NSLog([results objectAtIndex:0]); 

、ここでは、URLの建物です:

NSString *fn = [firstname text]; // First Name, fn from insert url 
    NSString *ln = [lastname text]; // Last Name, ln from url 
    NSString *age = [ageLabel text]; 
    NSString *als = [address text]; // Address last seen, als from insert url 
    NSString *cls = [city text]; // City last seen, cls from insert url 
    NSString *sls = [stateLabel text]; // State last seen, sls from insert url 
    NSString *jls = [jurisdiction text]; // Jursidiction last seen, jls from insert url 
    NSString *countystring = [county text]; 
    NSString *mdate = [dateLabel text]; // Missing Date, mdate from insert url 
    NSString *mtime = [timeLabel text]; // Missing Time, mtime from insert url 
    NSString *dob = [dobLabel text]; // Date of Birth, dob from insert url 
    dob = [dob stringByReplacingOccurrencesOfString:@"/" withString:@"-"]; 
    NSString *race = [ethnicityLabel text]; 
    NSString *heightstringft = [heightft text]; 
    NSString *heightstringin = [heightin text]; 
    NSString *gender = [genderLabel text]; 
    NSString *weightstring = [weight text]; 
    NSString *hair = [hairColorLabel text]; 
    NSString *eye = [eyeColorLabel text]; 
    NSString *cloths = [clothingdescription text]; 
    NSString *baseurl = @"http://my.domain.tld/php/newCase1Insert.php?cn="; 
    NSString *buildurl = [baseurl stringByAppendingFormat:casenumber]; 
    buildurl = [buildurl stringByAppendingString:@"&fn="]; 
    buildurl = [buildurl stringByAppendingFormat:fn]; 
    buildurl = [buildurl stringByAppendingString:@"&ln="]; 
    buildurl = [buildurl stringByAppendingFormat:ln]; 
    buildurl = [buildurl stringByAppendingString:@"&age="]; 
    buildurl = [buildurl stringByAppendingFormat:age]; 
    buildurl = [buildurl stringByAppendingString:@"&als="]; 
    buildurl = [buildurl stringByAppendingFormat:als]; 
    buildurl = [buildurl stringByAppendingString:@"&cls="]; 
    buildurl = [buildurl stringByAppendingFormat:cls]; 
    buildurl = [buildurl stringByAppendingString:@"&sls="]; 
    buildurl = [buildurl stringByAppendingFormat:sls]; 
    buildurl = [buildurl stringByAppendingString:@"&jls="]; 
    buildurl = [buildurl stringByAppendingFormat:jls]; 
    buildurl = [buildurl stringByAppendingString:@"&mdate="]; 
    buildurl = [buildurl stringByAppendingFormat:mdate]; 
    buildurl = [buildurl stringByAppendingString:@"&mtime="]; 
    buildurl = [buildurl stringByAppendingFormat:mtime]; 
    buildurl = [buildurl stringByAppendingString:@"&dob="]; 
    buildurl = [buildurl stringByAppendingFormat:dob]; 
    buildurl = [buildurl stringByAppendingString:@"&race="]; 
    buildurl = [buildurl stringByAppendingFormat:race]; 
    buildurl = [buildurl stringByAppendingString:@"&height="]; 
    buildurl = [buildurl stringByAppendingFormat:heightstringft]; 
    buildurl = [buildurl stringByAppendingFormat:heightstringin]; 
    buildurl = [buildurl stringByAppendingString:@"&gender="]; 
    buildurl = [buildurl stringByAppendingFormat:gender]; 
    buildurl = [buildurl stringByAppendingString:@"&weight="]; 
    buildurl = [buildurl stringByAppendingFormat:weightstring]; 
    buildurl = [buildurl stringByAppendingString:@"&hair="]; 
    buildurl = [buildurl stringByAppendingFormat:hair]; 
    buildurl = [buildurl stringByAppendingString:@"&eye="]; 
    buildurl = [buildurl stringByAppendingFormat:eye]; 
    buildurl = [buildurl stringByAppendingString:@"&cloths="]; 
    buildurl = [buildurl stringByAppendingFormat:cloths]; 
    buildurl = [buildurl stringByAppendingString:@"&county="]; 
    buildurl = [buildurl stringByAppendingFormat:countystring]; 
    buildurl = [buildurl stringByReplacingOccurrencesOfString:@" " withString:@"%%20"]; 
    NSLog(buildurl); 
    inserturl1 = buildurl; 

誰もが、それは、URLを実行していない理由を私は把握助けることができますか?あなたはエラーの説明を取得するには、このコードを使用する必要が

答えて

0

ここに私が見つけた問題があります。 URLを正しくエンコードしていませんでした。 NSUTF8StringエンコーディングでURLを再エンコードする必要がありました。

NSString *myURL = // some URL 
NSString *fixedURL = [myURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; // or any other encoding 
NSURL *URL = [NSURL URLWithString :fixedURL]; 
2

NSError *error = nil; 
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error]; 
NSLog(@"Error: %@", [error localizedDescription]); 

また、リモートサーバがリクエストを採用(またはブロック)するためにHTTPヘッダを読むことができることを考慮に入れます。

+0

エラーが私に語ったことすべてが '悪いURL'ですが、私はそれがブラウザに送信のURLをコピーすることができますし、それを提出する:ここでMy co-worker found the fix here.

は、あなたがそれを行う方法です。 –

関連する問題