我試圖從存儲我所有成績的網站上拉我的學校成績,但我在使用HTTP請求登錄時遇到問題,並且拉下了下一頁的信息。任何幫助表示讚賞:)如何取得網站上的成績,並使用POST請求執行登錄?
override func viewDidLoad() {
super.viewDidLoad()
let myUrl = NSURL(string: "https://homeaccess.katyisd.org/HomeAccess/Account/LogOn?ReturnUrl=%2fhomeaccess%2f")
let request = NSMutableURLRequest(URL: myUrl!)
request.HTTPMethod = "POST"
let postString = "User_Name=**hidden**&Password=**hidden**"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request){
data,response,error in
if(error != nil){
print("error=\(error)")
return
}
print("response = \(response)")
// Print out response body
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")
//Let’s convert response sent from a server side script to a NSDictionary object:
do{
var myJSON = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) as? NSDictionary
if let parseJSON = myJSON {
// Now we can access value of First Name by its key
var firstNameValue = parseJSON["User_Name"] as? String
print("firstNameValue: \(firstNameValue)")
}
}catch{
print(error)
}
}
}
如果沒有登錄數據,很難判斷出現什麼問題......是不是有什麼問題?你會得到什麼錯誤?發生了什麼問題?你到底有什麼問題? –
沒有打印在控制檯內 – user6032625
沒問題。這是有道理的,因爲你根本沒有觸發請求。在代碼末尾添加'task.resume()'... –