NSErrorFailingURLStringKey (kCFErrorDomainCFNetwork Fehler -1017) für spezifische Anforderungen

Schrieb ich eine helper-Klasse, mit der ich alle meine Anforderungen an einen server (Rails 4.1). Die meisten Anfragen werden innerhalb dieser Hilfsklasse, die gut funktionieren, aber eine spezifische Anforderung scheitern die ganze Zeit. Ich bin mit Alamofire für meine Anforderungen.

Hier noch der code von meinem helper-Klasse:

let responseHandler = { (request: NSURLRequest, response: NSHTTPURLResponse?, object: AnyObject?, error: NSError?) -> Void in
    println("request: \(request) || response: \(response) || object: \(object) || error: \(error)")
}

//make custom request
let request = NSMutableURLRequest(URL: NSURL(string: fullPath)!)
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(["session_key": "ABC"], options: nil, error: nil)
request.HTTPMethod = "GET"
request.allHTTPHeaderFields = ["Accept": "application/json", "Content-Type": "application/json"]

Alamofire.request(request).response(responseHandler)

Hier ist die Ausgabe von der println Zeile im obigen code:

request: <NSMutableURLRequest: 0x1702007e0> { URL: http:/wolverine.movie-assistor.staging.c66.me/user } || response: nil || object: Optional(<>) || error: Optional(Error Domain=NSURLErrorDomain Code=-1017 "The operation couldn’t be completed. (NSURLErrorDomain error -1017.)" UserInfo=0x1702ea780 {NSErrorFailingURLStringKey=http://wolverine.movie-assistor.staging.c66.me/user, NSErrorFailingURLKey=http://wolverine.movie-assistor.staging.c66.me/user, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-1, NSUnderlyingError=0x174240240 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1017.)"})

Ich habe versucht, das zurücksetzen Simulator (da ich irgendwo gelesen es könnte ein Simulator Problem) und versucht, auf meinem iPhone 6, aber das problem bleibt das gleiche. Der Versuch, die URL mit der CocoaRESTClient fein gearbeitet, so dass ich bezweifle, dass es ein Problem auf der server-Seite verlässt, um die erwartete Antwort {"session_key" : "missing"}).

Wer weiß, was das Problem ist?

EDIT #1:

Server-Seite, die auf Schienen läuft 4.1 sieht wie folgt aus (application_controller.rb):

prepend_before_action :authenticate_session

def authenticate_session
  if (session_key = params[:session_key]).nil?
    forbidden(session_key: "missing")
  elsif (session = Session.find_by(session_key: session_key)).nil?
    forbidden(session_key: "unknown key")
  elsif session.open != true
    forbidden(session_key: "session closed")
  end
end

def forbidden(object = {})
  render json: make_hash(object), status: :forbidden
end

def make_hash(object)
  if object.is_a?(ActiveRecord::Base)
    return object.as_json
  end

  return object
end

EDIT #2:

In der Zwischenzeit habe ich versucht, verschiedene Anforderungen und es stellt sich heraus, dass der gleiche code auf der server-Seite funktioniert für alle Auftragsarten mit Ausnahme der "GET" - Anfragen (ich habe versucht, POST -, PUT-und DELETE-spezifisch). Also vielleicht den HTTP-body, unterscheiden müssen für GET-Anfragen?

InformationsquelleAutor Dschee | 2014-12-17

Schreibe einen Kommentar