Теперь я работаю над небольшим приложением, где мне нужно сделать подключения к некоторым веб-сайтам, чтобы получить некоторую информацию.NSURLSession.sharedSession() dataTaskWithRequest не работает
Вот функция, которую я сделал, которая удовлетворяет моим потребностям 90% времени.
func requestFunctionOn(url: String) {
print(#function + " url: \(url)")
let request = NSMutableURLRequest(URL: NSURL(string: url)!)
request.HTTPMethod = "POST"
NSURLSession.sharedSession().dataTaskWithRequest(request,
completionHandler: {
data, response, error in
if error != nil {
print("error=\(error)")
return
}
print("RSC = \((response as! NSHTTPURLResponse).statusCode)")
............. doing some more useful work .............
}).resume()
}
Есть моменты, когда я попал в проблему, не зная почему. В приведенном ниже примере следы в консоли отладчика рабочего случае (RSC = 200) и из неработающего случае (RSC = 404):
Работа, как и ожидалось:
requestFunctionOn url: http://abcnews.go.com
RSC = 200
(lldb)
Не работает, как ожидалось:
requestFunctionOn url: http://www.bloomberg.com/asia
RSC = 404
(lldb)
Что я могу сделать, чтобы сделать второй случай работы? Где мне нужно посмотреть?
Вы пытаетесь опубликовать или получить? Попробуйте 'request.HTTPMethod =" GET "' –
Я пытаюсь получить содержимое веб-сайта, чтобы разобрать его и прочитать, что мне нужно. Как я уже говорил, это в основном работает. В первом случае я могу это сделать. – Michel
@ Leo Dabus: После вашей идеи, я только что сделал несколько тестов. Вот результат: При использовании: request.HTTPMethod = "POST"; У меня есть эффекты, упомянутые в моем посте. При использовании: request.HTTPMethod = "GET"; оно работает. При простом удалении строки он также работает. Я не совсем понимаю, что происходит. Может быть, вы можете объяснить? Спасибо за отзыв в любом случае. – Michel