Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用媒体和OAuth1更新Twitter状态_Ios_Rest_Twitter_Twitter Oauth_Multipartform Data - Fatal编程技术网

Ios 使用媒体和OAuth1更新Twitter状态

Ios 使用媒体和OAuth1更新Twitter状态,ios,rest,twitter,twitter-oauth,multipartform-data,Ios,Rest,Twitter,Twitter Oauth,Multipartform Data,我正在尝试用媒体更新身份验证用户的状态。POST请求从现在起在没有媒体的情况下工作。所以我断定多部分数据图像有问题。代码如下: //image NSData *imageData = UIImagePNGRepresentation(img); NSString *boundary = @"0246824681357ACXZabcxyz"; NSString *contentType = [NSString stringWithFormat:@"multipa

我正在尝试用媒体更新身份验证用户的状态。POST请求从现在起在没有媒体的情况下工作。所以我断定多部分数据图像有问题。代码如下:

    //image 
    NSData *imageData = UIImagePNGRepresentation(img);

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

    NSMutableData *body = [NSMutableData data];
    [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    // status
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"status\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"%@",allParameters[@"status"]] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    // media
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"media[]\"; filename=\"1.png\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    //[body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[NSData  dataWithData:imageData]];
    [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

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


    NSLog(@"body = %@", [[NSString alloc] initWithData:body encoding:NSASCIIStringEncoding]);
    //END image
正文打印以下内容:

--0246824681357ACXZabcxyz



Content-Disposition: form-data; name="status"



yoo

--0246824681357ACXZabcxyz

Content-Disposition: form-data; name="media[]"; filename="1.png"

Content-Type: application/octet-stream



PNG
我必须用ASCII编码,因为当我用UTF8编码时,NSString返回nil。我注意到这里没有打印闭合边界,这看起来很奇怪,但可能是因为ASCII编码

这是我得到的答复:

2013-07-04 17:10:54.917 MyApp[662:60b] <NSHTTPURLResponse: 0x167335d0> { URL: https://api.twitter.com/1.1/statuses/update.json?status=yoo } { status code: 502, headers {
    "Accept-Ranges" = bytes;
    "Content-Encoding" = gzip;
    "Content-Length" = 1353;
    "Content-Type" = "text/html; charset=UTF-8";
    Date = "Thu, 04 Jul 2013 15:09:58 GMT";
    "Last-Modified" = "Fri, 28 Jun 2013 19:39:00 GMT";
    Server = tfe;
    "Strict-Transport-Security" = "max-age=631138519";
    Vary = "Accept-Encoding";
    "x-pad" = "avoid browser bug";
    "x-xss-protection" = "1; mode=block";
} }