我正在使用URLSession发送一个请求。我收到响应,但HTTPCookieStorage.shared.cookies的值始终为0元素。我正在iOS模拟器中进行测试。
guard let url = URL(string: "https://10.10.224.30/sdc/v2/common/token") else {
return
}
let configuration = URLSessionConfiguration.default
configuration.httpCookieAcceptPolicy = .always
let mySession = URLSession(configuration: configuration, delegate: self, delegateQueue: nil)
var request = URLRequest(url: url)
request.setValue("OTT_CLIENT", forHTTPHeaderField: "User-Agent")
request.setValue("Basic aHR0cHdhdGNoOmY=", forHTTPHeaderField: "Authorization")
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.setValue("11044", forHTTPHeaderField: "X-Device-Identifier")
request.setValue("Deflate/gzip/compress",
forHTTPHeaderField: "Accept-Encoding")
request.setValue("application/json", forHTTPHeaderField: "Accept")
request.httpMethod = "POST"
var urlParser = URLComponents()
urlParser.queryItems = [
URLQueryItem(name: "scope", value: "OpenId ONEApp"),
URLQueryItem(name: "username", value: "2345679091"),
URLQueryItem(name: "grant_type", value: "password"),
URLQueryItem(name: "audience", value: "https://login.account.rakuten.com"),
URLQueryItem(name: "nonce", value: "a1b2c3")
]
let httpBodyString = urlParser.percentEncodedQuery
request.httpBody = httpBodyString?.data(using: String.Encoding.utf8)
let task = mySession.dataTask(with: request) { (data, response, error) in
if let httpResponse = response as? HTTPURLResponse {
let fields = httpResponse.allHeaderFields as! [String : String]
var cookies1 = URLSession.shared.configuration.httpCookieStorage?.cookies
print(cookies1)
}
task.resume()
答案 0 :(得分:0)
您可以通过将httpCookieStorage设置为任何共享对象或您的对象来实现
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>X.X.X.Final</version>
</dependency>
然后,您可以获取
$start_date = new DateTime('2012-09-01 04:10:58');
$since_start = $start_date->diff(new DateTime('2012-09-11 10:25:00'));
echo $since_start->days.' days total<br>';
echo $since_start->y.' years<br>';
echo $since_start->m.' months<br>';
echo $since_start->d.' days<br>';
echo $since_start->h.' hours<br>';
echo $since_start->i.' minutes<br>';
echo $since_start->s.' seconds<br>';
您将获得cookie值。