2016-07-13 2 views
-2

Пожалуйста, исправьте этот кодКак отправить запрос на отправку http в SWIFT?

@IBAction func registeruser(sender: AnyObject) { 
    let usertext = useremail.text; 

    let myURL = NSURL(string: "http://advaluead.com/vishwa/index.php"); 
    let request = NSMutableURLRequest(URL:myURL!); 
    request.HTTPMethod = "POST"; 

    let poststring = "email=\(usertext)"; 
    request.HTTPBody = poststring.dataUsingEncoding(NSUTF8StringEncoding); 

} 

Мой сервер не получает какой-либо запрос от приложения.

+2

сначала заполните свой код и попробуйте найти свой вопрос. Есть так много ответов на один и тот же вопрос. –

ответ

0

Вам необходимо отключить ATS (безопасность транспорта приложений) или разрешить домен, потому что вы не используете https.

Чтобы «жестоко» отключить все HTTP вызовы (не лучший вариант), добавьте к вашему Info.plist:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

Рекомендуемый способ пойти, чтобы сохранить ATS и настроить исключения Доменные следующим образом:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
    <key>yourserver.com</key> 
    <dict> 
     <!--Include to allow subdomains--> 
     <key>NSIncludesSubdomains</key> 
     <true/> 
     <!--Include to allow HTTP requests--> 
     <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
     <true/> 
     <!--Include to specify minimum TLS version--> 
     <key>NSTemporaryExceptionMinimumTLSVersion</key> 
     <string>TLSv1.1</string> 
    </dict> 
    </dict> 
</dict> 

More info here

+1

Имейте в виду, что яблоко потребует, чтобы вся связь с сервером использовала TLS в ближайшем будущем, и этот вариант больше не будет работать. – rckoenes

0
let myURL = NSURL(string: "http://advaluead.com/vishwa/index.php"); 
      let postData:NSData = post.dataUsingEncoding(NSASCIIStringEncoding)! 
      let postLength:NSString = String(postData.length) 
      let request:NSMutableURLRequest = NSMutableURLRequest(URL: url!) 
      request.timeoutInterval = 120 
      request.HTTPMethod = "POST" 
      request.HTTPBody = postData 
      request.setValue(postLength as String, forHTTPHeaderField: "Content-Length") 
      request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") 
      request.setValue("application/json", forHTTPHeaderField: "Accept") 

пожалуйста. проверьте один раз.

Смежные вопросы