-1

特定の URL リクエストのリクエストとレスポンスの取得に http Get と Post を使いたいのですが、

しかし、私はそれらを目的のcで使用する方法を知りません..

接続の確立で Get と Post のどちらが先に来るか?

コンテンツを変更してサーバーに戻す方法..

誰でも私を助けてもらえますか?

4

2 に答える 2

1

使用するために:

+(NSMutableURLRequest*)getURq_getansascreen:(NSString*)ws_name {

    NSLog(@"%@",ws_name);

    NSMutableURLRequest *urlReq = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:ws_name] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];

    [urlReq addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    [urlReq setHTTPMethod:@"GET"];

    return urlReq;
}

使用後:

+(NSMutableURLRequest*)postURq_getansascreen:(NSString*)ws_name :(NSString*)service {

        NSString *tempUrl = domainURL;

        NSString *msgLength = [NSString stringWithFormat:@"%d",[ws_name length]];
        NSMutableURLRequest *urlReq = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@Service=%@",tempUrl,service]] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];
        [urlReq addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
        [urlReq addValue:msgLength forHTTPHeaderField:@"Content-Length"];
        [urlReq setHTTPMethod:@"POST"];
        [urlReq setHTTPBody: [ws_name dataUsingEncoding:NSUTF8StringEncoding]];

        return urlReq;
    }

//これをビューで呼び出すと`としてロードされました

WSPContinuous *wspcontinuous = [[WSPContinuous alloc] initWithRequestForThread:[webService getURq_getansascreen:[webService GetDetails:str_filter]] sel:@selector(WS_GetDetailsLoaded:) andHandler:self];`

//クラスWSPContinuousを作成し、これらのfnsを追加します。

-(id)initWithRequestForThread:(NSMutableURLRequest*)urlRequest sel:(SEL)seletor andHandler:(NSObject*)handler {

    if (self=[super init]) {

        self.MainHandler = handler;
        self.targetSelector = seletor;
        self.urlReq = urlRequest;

        [self performSelectorOnMainThread:@selector(startParse) withObject:nil waitUntilDone:NO];
    }
    return (id)urlReq;
}

-(void)startParse{

    NSLog(@"URL CALLING    %@",urlReq.URL);

    con = [[NSURLConnection alloc] initWithRequest:urlReq delegate:self];
    if (con) {
        myWebData = [[NSMutableData data] retain];

        NSLog(@"myWebData old....%@",myWebData);
    }
    else {
        [self.MainHandler performSelectorOnMainThread:targetSelector withObject:nil waitUntilDone:NO];
    }
}

//-------------------------------connection-----------------

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
    [myWebData setLength:0];
}

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    [myWebData appendData:data];
}

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{

    [self.MainHandler performSelectorOnMainThread:targetSelector withObject:nil waitUntilDone:NO];

}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{

    NSString *thexml = [[NSString alloc] initWithBytes:[myWebData mutableBytes] length:[myWebData length] encoding:NSUTF8StringEncoding];

    NSLog(@"xmlDictionary %@",thexml);

    [thexml release];

    NSError *parseError = nil;
    NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLData:myWebData error:&parseError];

    [AlertHandler hideAlert];

    [MainHandler performSelector:targetSelector withObject:xmlDictionary];
}
于 2013-02-07T04:57:44.230 に答える
0

開始したい場合は、NSMutableURLRequest および NSURLConnection などの関連トピックを読むことをお勧めします。

サンプルコードはどこでも入手できます。グーグルで検索してください。

Google検索 - >目的cの取得と投稿

および First hit -> Objective-C で iPhone で HTTP POST および GET を使用するためのチュートリアル

于 2013-02-07T05:08:33.980 に答える