2016-06-16 6 views
0

私は価値を得るためにWebサービスを使っています。私は値をWebサービスurl.thereに渡しています。xmlタグを含むパラメータがあります。この文字列を次のように置きます。iOS、目的cのWebサービスURL経由でxmlタグでパラメータを渡すより良い方法は

enter image description here

その後、私は次のようにurlに値を追加します。

NSString *checkingbaseUrl = [NSString stringWithFormat:@"http://myson.ascentur.au/AUMobile.asmx/FlightBooking?Authkey=%@&Reqxml=%@&infovia=%@&totalpax=%@&totalfare=%@&flightsegmentcount=%@&from=%@&destination=%@&departuredate=%@&returndate=%@&airlinecode=%@&cabinclass=%@&cabinclasses=%@",authkey,requestXml,infovia, totalPax, totalfare,flightsegmentcount,from,destination,departuredate,returndate,airline,cabinclass,cabinClassess]; 

ですが、応答はerrorです。私はそれがこのエラーを示しブラウザで見たときに :私のアプリで

A potentially dangerous Request.QueryString value was detected from the client (Reqxml="<BPC9> <MSG_VERSION>..."). 

を、それが続く

Request failed: not found (404) 

とエラーを返し、これは私がvia

NSString *checkingbaseUrl = [NSString stringWithFormat:@"http://myson.ascentur.au/AUMobile.asmx/FlightBooking?Authkey=%@&Reqxml=%@&infovia=%@&totalpax=%@&totalfare=%@&flightsegmentcount=%@&from=%@&destination=%@&departuredate=%@&returndate=%@&airlinecode=%@&cabinclass=%@&cabinclasses=%@",authkey,requestXml,infovia,totalPax,totalfare,flightsegmentcount,from,destination,departuredate,returndate,airline,cabinclass,cabinClassess]; 

    NSString *basedUrl = [checkingbaseUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]; 

    AFHTTPSessionManager *bookingmanager = [AFHTTPSessionManager manager]; 
    [bookingmanager GET:checkingbaseUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) 
    { 
     NSString *responseS = (NSString *)responseObject; 
     NSLog(@"resoponseS : %@", responseS); 


    } 
    failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { 
     NSLog(@"anurdh_caldera :%@", error.localizedDescription); 
    }]; 

をAFNetworking要求する方法であります私は知りたい、これは正しい方法ですrequestXmlパラメータ(私はどのようにこれらの特殊文字のこれらのタイプでこの文字列を追加する考えている) 。

これであなたの助けを願っています。法の下に使用してブラケットを交換した後

+0

は、POSTメソッドですか?はいの場合は、HTTPBodyに入れないでください。リクエストにはどのようなオブジェクトを使用していますか? – Larme

+0

これは 'GET'メソッドではありません。私はWebサービスと通信するために' AFNetworking'を使用しています。 –

答えて

0

チェック:

requestXml=[self replaceSpecialCharsFromString:requestXml]; 

-(NSString*)replaceSpecialCharsFromString:(NSString*)str 
{ 
    str = [str stringByReplacingOccurrencesOfString:@"&" withString:@"&"]; 
    str = [str stringByReplacingOccurrencesOfString:@"<" withString:@"&lt;"]; 
    str = [str stringByReplacingOccurrencesOfString:@">" withString:@"&gt;"]; 
    return str; 
} 
+0

私のURLには空白を入れることはできません。しかし、ほとんどの場所に '%'タグがあります –

+0

私は質問を更新しました。私はあなたの答えを試みた。しかし、成功した結果を得なかった –

関連する問題