ios 手动post

NSURL *url = [NSURL URLWithString:@"http://example.com/form/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];

NSString *boundary = @"YOUR_BOUNDARY_STRING";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];

NSMutableData *body = [NSMutableData data];

[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"photo\"; filename=\"%@.jpg\"\r\n", self.message.photoKey] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];

[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"message\"\r\n\r\n%@", self.message.message] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"user\"\r\n\r\n%d", 1] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

[request setHTTPBody:body];
[request setHTTPBody:body];

NSURLResponse *response;
NSError *error;

nsdata* data=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

 

 

//post example

  NSURL *baseurl = [NSURL URLWithString:@"http://115.29.137.123:8080/microbiz/api/v2/userstrack/post"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:baseurl];
    [request setHTTPMethod:@"POST"];
    NSString *boundary = @"0xKhTmLbOuNdArY";
    NSMutableData *body = [NSMutableData data];
        NSMutableDictionary *d= [NSMutableDictionary new];
    [d setObject:[NSNumber numberWithInt:30] forKey:@"userId"];
    [d setObject:@"9802140982155" forKey:@"imei"];
    [d setObject:@"a78714d18d9d49b5a7ee549c4cca40fe" forKey:@"token"];
    [d setObject:[NSNumber numberWithInt:12] forKey:@"action"];
    [d setObject:[NSNumber numberWithDouble:1] forKey:@"longitude"];
    [d setObject:[NSNumber numberWithDouble:1] forKey:@"latitude"];
    [d setObject:@"a" forKey:@"address"];
    [d enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
        NSString *thisFieldString = [NSString stringWithFormat:
                                     @"--%@\r\nContent-Disposition: form-data; name=\"%@\"\r\n\r\n%@",
                                     boundary, key, obj];
        [body appendData:[thisFieldString dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    }];
    [body appendData: [[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
//    [body appendData:[[NSString stringWithFormat:@"\r\n%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
     NSString *charset = (__bridge NSString *)CFStringConvertEncodingToIANACharSetName(CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));
    [request setValue:[NSString stringWithFormat:@"multipart/form-data; charset=%@; boundary=%@", charset, boundary]
        forHTTPHeaderField:@"Content-Type"];
    [request setValue:[NSString stringWithFormat:@"%lu", (unsigned long) [body length]] forHTTPHeaderField:@"Content-Length"];
     DLog(@"body_string:%@", [[NSString alloc]initWithData:body encoding:NSUTF8StringEncoding]);
    [request setHTTPBody:body];

    NSURLResponse *response;
    NSError *error;
    NSData*data=   [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    DLog(@"request.allHTTPHeaderFields:%@",request.allHTTPHeaderFields);
    DLog(@"data:%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] );

posted @ 2014-08-02 11:06  anjsxz  阅读(164)  评论(0编辑  收藏  举报