4

次のコードを使用して Cookie を作成しましたが、失敗しました。(iOS SDK 5)

// add cookie
NSDictionary *properties = [NSDictionary dictionaryWithObjectsAndKeys:
                            req.URL, NSHTTPCookieOriginURL,
                            @"MLSTORAGE", NSHTTPCookieName,
                            @"1234567890", NSHTTPCookieValue,
                            nil];
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:properties];
NSLog(@"\nurl: %@\ncookie: %@", req.URL, cookie);
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
//

ログは次のとおりです。

2012-07-26 18:30:49.914 Motilink[15289:707] -[FMWebDAVRequest sendRequest:][Line 154] 
url: http://210.116.114.195:8080/MLServer/storage/
cookie: (null)

クッキーの作り方を知っている人はいますか?

4

4 に答える 4

8

NSHTTPCookieOriginURLリクエストのURLでの使用に問題があるようです。

このコードを使用してみてください、それは私のために働いた:

// add cookie
    NSDictionary *properties = [NSDictionary dictionaryWithObjectsAndKeys:
                                req.URL.host, NSHTTPCookieDomain,
                                req.URL.path, NSHTTPCookiePath,
                                @"MLSTORAGE", NSHTTPCookieName,
                                @"1234567890", NSHTTPCookieValue,
                                nil];
    NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:properties];
    NSLog(@"\nurl: %@\ncookie: %@", req.URL, cookie);
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
    //

ただし、ここで機能しない理由はわかりNSHTTPCookieOriginURLません。

お役に立てれば、

于 2013-04-12T08:02:01.150 に答える
2

Cookie を正常に作成するには、(少なくとも) NSHTTPCookiePath、NSHTTPCookieName、および NSHTTPCookieValue キーの値と、NSHTTPCookieOriginURL キーまたは NSHTTPCookieDomain キーのいずれかの値を指定する必要があります。

于 2015-02-12T03:50:50.300 に答える