2016-05-20 12 views
1

Ich arbeite an gcdwebserver gcdwebserver, ich post request einige params sende auch gcdwebserver, senden, aber in addhandlermatchblock nicht Abfrage params bekommen, antworten Sie bitteNSURLRequest [get/post] urlQuery null

Code:

NSString * [email protected]"name=ram&age=20"; 
    NSURLSession * session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 
    NSURL * url=[NSURL URLWithString:@"http://127.0.0.1:8080/index.html"]; 
    NSMutableURLRequest * request=[NSMutableURLRequest requestWithURL:url]; 
    [request setHTTPMethod:@"GET"]; 
    [request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]]; 


[webServer addHandlerWithMatchBlock:^GCDWebServerRequest *(NSString* requestMethod, NSURL* requestURL, NSDictionary* requestHeaders, NSString* urlPath, NSDictionary* urlQuery) { 

     if (![requestMethod isEqualToString:@"GET"]) { 
      return nil; 
     } 


     return [[GCDWebServerRequest alloc] initWithMethod:requestMethod url:requestURL headers:requestHeaders path:urlPath query:urlQuery]; 

    } processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { 
      NSLog(@"coming here get %@",request.urlQuery); // null 
     GCDWebServerResponse* response = nil; 

     return response; 

           }]; 
+0

Siehe Beispiele in REASME: https://github.com/swisspol/GCDWebServer#advanced-example-2-implement ing-forms – Pol

+0

Ich habe diesen Code gesehen, aber in addHandlerWithMatchBlock meine Anfrage Klasse ist GCDWebServerRequest, ich habe versucht mit diesem Code aber ich habe keinen Wert NSString * value = [[(GCDWebServerURLEncodedFormRequest *) Anfrage Argumente] objectForKey: @ "name" ]; – skyshine

+0

innerhalb addHandlerWithMatchBlock für Anfrage Methode post, wie man params – skyshine

Antwort

0

ich habe versucht, mit GCDWebServerURLEncodedFormRequest anstelle von GCDWebServerRequest, es

arbeitete
[webServer addHandlerWithMatchBlock:^GCDWebServerURLEncodedFormRequest *(NSString* requestMethod, NSURL* requestURL, NSDictionary* requestHeaders, NSString* urlPath, NSDictionary* urlQuery) { 

      if (![requestMethod isEqualToString:@"GET"]) 
      { 
       return [[GCDWebServerURLEncodedFormRequest alloc] initWithMethod:requestMethod url:requestURL headers:requestHeaders path:urlPath query:urlQuery]; 
      } 
      else 
      { 
       return [[GCDWebServerURLEncodedFormRequest alloc] initWithMethod:requestMethod url:requestURL headers:requestHeaders path:urlPath query:urlQuery]; 
      } 

     } processBlock:^GCDWebServerResponse *(GCDWebServerURLEncodedFormRequest * request) { 

NSMutableDictionary * dic=[[NSMutableDictionary alloc]initWithDictionary:[request arguments]]; // url query params 


    return response; 
    }