2017-11-02 7 views
0

私はうまく動作するphpのwebapiを持っています。今では私のアプリでそれを使いたいと思っています。 Webapiは認証にクッキーを使用します。だから初めて私はログインタスクを作成し、応答からクッキーを保存します。タスクの保存迅速なクッキーのurlsession要求

: データダウンロードタスク:

function testLogin(){ 
let loginUrlstring = ".../webapi/login.php" 
let passwordom = "" 
let emailem = "" 

guard let url = URL(string: loginUrlstring) else { return } 

    let postString = "email=" + emailem + "&pw=" + passwordom 

    var urlRequest = URLRequest(url: url) 
    urlRequest.httpMethod = "POST" 
    urlRequest.httpShouldHandleCookies = true 
    urlRequest.httpBody = postString.data(using: String.Encoding.utf8)  

    let session = URLSession.shared 
    let task = session.dataTask(with: urlRequest) { (data, response, error) in 
     self.saveCookies(response: response) 
     print("cookies mentve") 
     print(response?.url) 
    } 
    task.resume()} 

は今、私はいくつかのデータを取得するためにクッキーを使用して、要求を作成したいしたい

let probaUrl = "http://.../data.php" 
let postString = "table=SomeTableName&key=someFieldID&value=20" 
guard let url = URL(string: probaUrl) else { return } 

loadCookies() 
let cookiesArray = HTTPCookieStorage.shared.cookies 
let headers = HTTPCookie.requestHeaderFields(with: cookiesArray!) 


var urlRequest = URLRequest(url: url) 
urlRequest.httpMethod = "GET"//"POST" 
urlRequest.httpShouldHandleCookies = true 
urlRequest.httpBody = postString.data(using: String.Encoding.utf8) 
urlRequest.allHTTPHeaderFields = headers 

var session = URLSession(configuration: .default) 
session.configuration.httpCookieAcceptPolicy = .always 

session.configuration.httpAdditionalHeaders = headers 
let task = session.dataTask(with: urlRequest) { (data, response, error) in 
    print(response) 
    print(data) 
    if let data2 = data, let utf8Text = String(data: data2, encoding: .utf8) { 
     print("Data: \(utf8Text)") // original server data as UTF8 string 
    } 
} 
task.resume() 

をそして、それは言う:エラーで完成 - コード:-1001 印刷データ--- nil 私の間違いはどこですか?あなたは私が意味する 間違っているかを理解するために起こっている正確なエラーを印刷する必要があります

答えて

0

print(error)let task = session.dataTask(with: urlRequest) { (data, response, error) in ...

関連する問題