zoukankan      html  css  js  c++  java
  • objectc NSMutableURLRequest模拟表单提交

    NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];

     
     
        [urlRequest setHTTPMethod:@"POST"];
     
        [urlRequest setValue: [NSString stringWithFormat:@"multipart/form-data; boundary=%@", BOUNDRY]
     
          forHTTPHeaderField:@"Content-Type"];
     
     
     
     
    int len=512;
     
    if(imageData !=nil){
     
    len = imageData.length + 512;
     
    }
     
    NSMutableData  * postData =[NSMutableData dataWithCapacity:len];
     
     
    [postData  appendData: [[NSString  stringWithFormat:@"--%@\r\n",BOUNDRY] dataUsingEncoding:NSUTF8StringEncoding]];
     
    [postData  appendData: [[NSString  stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",@"token" ] dataUsingEncoding:NSUTF8StringEncoding]];
     
    [postData  appendData: [[NSString  stringWithFormat:@"%@",user.token] dataUsingEncoding:NSUTF8StringEncoding]];
     
    [postData  appendData: [[NSString  stringWithFormat:@"\r\n--%@\r\n",BOUNDRY] dataUsingEncoding:NSUTF8StringEncoding]];
     
     
     
    [postData  appendData: [[NSString  stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",@"timestamp" ] dataUsingEncoding:NSUTF8StringEncoding]];
     
    [postData  appendData:[[NSString   stringWithFormat:@"%@",timestamp] dataUsingEncoding:NSUTF8StringEncoding]];
     
    [postData  appendData:[[NSString   stringWithFormat:@"\r\n--%@\r\n",BOUNDRY] dataUsingEncoding:NSUTF8StringEncoding]];
     
     
    [postData  appendData: [[NSString  stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",@"signature" ] dataUsingEncoding:NSUTF8StringEncoding]];
     
    [postData  appendData:[[NSString   stringWithFormat:@"%@",signature] dataUsingEncoding:NSUTF8StringEncoding]];
     
     
     
    if (imageData != nil ) {
     
    [postData  appendData:[[NSString   stringWithFormat:@"\r\n--%@\r\n",BOUNDRY] dataUsingEncoding:NSUTF8StringEncoding]];
     
    [postData  appendData: [[NSString  stringWithFormat:@"Content-Disposition: form-data; name=\"%@\";filename=\"temp.png\"\r\nContent-Type: image/png\r\n\r\n",@"upfile" ] dataUsingEncoding:NSUTF8StringEncoding]];
     
    [postData  appendData:imageData];
     
    }   
     
     
    [postData  appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",BOUNDRY] dataUsingEncoding:NSUTF8StringEncoding]];
     
     
        [urlRequest setHTTPBody:postData];
        NSLog(@"%@",urlRequest); 
     
     
     
    NSData *returnData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:nil error:nil];  
     
     
     
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];  
    NSLog(@"%@",returnString);  
     
  • 相关阅读:
    Hadoop配置
    大数据总览
    Shell(五)Shell输入/输出重定向
    善用try catch来使不可避免的错误发生时,程序不崩溃,只是终止该进程。
    silverlight 程序发布
    linq查distinct
    silverlight 服务端与客户端分2个VS程序打开,同时调试
    将25转成00025的方法
    【转】C#导出数据到EXCEL方法谈(附实例源码和超级无敌详细讲解)
    LINQ处理List数据
  • 原文地址:https://www.cnblogs.com/zhwl/p/2837575.html
Copyright © 2011-2022 走看看