I have a small script written in python and works fine so i want to implement the same thing in my swift app but could not find a way
here is my python code:
payload = {'login': 'Submit', 'username': 'username', 'password': 'password', 'redirect': 'iph.php'}
with session() as c:
c.post('http://mywebsite.com/iph.php', data=payload)
response = c.get('http://mywebsite.com/mobile.php?page=profile')
tree = html.fromstring(response.content)
males = tree.xpath('//td[@id="someinfo"]/text()')
females = tree.xpath('//td[@id="someinfo2"]/text()')
print(response.headers)
print(response.text)
So basically i receive 2 text infos from the script (someinfo and someinfo2) and in swift app i need to print them on labels.
Thank you
let payload = ["login": "Submit", "username": "username", "password": "password", "redirect": "iph.php"]
Alamofire.request(.POST, "http://mywebsite.com/iph.php", parameters: payload)
.response { request, response, data, error in
guard let data = data else {
fatalError("No data returned")
}
do {
let html = try NSXMLDocument(data: data, options: NSXMLDocumentTidyHTML)
let root = html.rootElement()!
let males = try root.nodesForXPath("//td[@id='someinfo']/text()")
let females = try root.nodesForXPath("//td[@id='someinfo2']/text()")
} catch let error as NSError {
print(error.localizedDescription)
}
}
let payload = ["login": "Submit", "username": "username", "password": "password", "redirect": "iph.php"]
let request = NSMutableURLRequest(URL: NSURL(string: "http://mywebsite.com/iph.php")!)
request.HTTPMethod = "POST"
request.HTTPBody = NSKeyedArchiver.archivedDataWithRootObject(payload)
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config)
let task = session.dataTaskWithRequest(request) { data, response, error in
guard let data = data else {
fatalError("No data returned")
}
do {
let html = try NSXMLDocument(data: data, options: NSXMLDocumentTidyHTML)
let root = html.rootElement()!
let males = try root.nodesForXPath("//td[@id='someinfo']/text()")
let females = try root.nodesForXPath("//td[@id='someinfo2']/text()")
} catch let error as NSError {
print(error.localizedDescription)
}
}
task.resume()
sleep(secs)
or use Grand Central Dispatch to wait for the request.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.