У меня была аналогичная проблема с попыткой POST для MailGun для некоторых автоматических писем, которые я реализовал в приложении.
Мне удалось получить эту работу с большим HTTP-ответом. Я поместил полный путь в Keys.plist, чтобы я мог загрузить свой код в github и разбить некоторые аргументы на переменные, чтобы я мог их программно установить позже по дороге.
// Email the FBO with desired information
// Parse our Keys.plist so we can use our path
var keys: NSDictionary?
if let path = NSBundle.mainBundle().pathForResource("Keys", ofType: "plist") {
keys = NSDictionary(contentsOfFile: path)
}
if let dict = keys {
// variablize our https path with API key, recipient and message text
let mailgunAPIPath = dict["mailgunAPIPath"] as? String
let emailRecipient = "bar@foo.com"
let emailMessage = "Testing%20email%20sender%20variables"
// Create a session and fill it with our request
let session = NSURLSession.sharedSession()
let request = NSMutableURLRequest(URL: NSURL(string: mailgunAPIPath! + "from=FBOGo%20Reservation%20%3Cscheduler@<my domain>.com%3E&to=reservations@<my domain>.com&to=\(emailRecipient)&subject=A%20New%20Reservation%21&text=\(emailMessage)")!)
// POST and report back with any errors and response codes
request.HTTPMethod = "POST"
let task = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) in
if let error = error {
print(error)
}
if let response = response {
print("url = \(response.URL!)")
print("response = \(response)")
let httpResponse = response as! NSHTTPURLResponse
print("response code = \(httpResponse.statusCode)")
}
})
task.resume()
}
Путь Mailgun находится в Keys.plist как строка с именем mailgunAPIPath со значением:
https://API:key-<my key>@api.mailgun.net/v3/<my domain>.com/messages?
Надеюсь, что это поможет предложить решение кому-то, кто пытается избежать использования стороннего кода для своих запросов POST!
Последний выпуск поддерживает Eclipse Photon 2018-12:
https://github.com/cbeust/testng-eclipse/releases/tag/6.14.3.201902250526
[ 113] поднимите билет на github, если вы все еще сталкиваетесь с проблемой.