var url:String = "http://112.199.178.73:4000/contact" + "?" + ["accessToken": getAppDelegate().applicationData?.accessToken].queryStringWithEncoding();
var socketUrl = URL(string: url);
回答
不要像這樣手動構建URL和URL字符串。
var components = URLComponents()
components.scheme = "http"
components.host = "112.199.178.73"
components.port = 4000
components.path = "/contact"
// I'm assuming accessToken is a string here
if let accessToken = getAppDelegate().applicationData?.accessToken {
components.queryItems = [
URLQueryItem(name: "accessToken", value: accessToken)
]
}
guard let url = components.url else {
fatalError("Failed to create URL")
}
如果你能後的字符串var url:String = "http://112.199.178.73:4000/contact" + "?" + ["accessToken": getAppDelegate().applicationData?.accessToken].queryStringWithEncoding();
產生,我們可以告訴你到底發生了什麼錯,但我敢打賭,但是["accessToken": getAppDelegate().applicationData?.accessToken].queryStringWithEncoding();
是越來越追加到該字符串是要給你一個不正確的URL字符串。
謝謝@andrew您的無瑕答案。 –
很高興能幫到你!如果這對你有用,你可以[接受它](http://meta.stackexchange.com/q/5234/179419)! –
- 1. 將URL轉換爲字符串並返回
- 2. 無法將零轉換爲字符串
- 3. 將字符串轉換爲Double然後返回字符串
- 4. 爲什麼這個返回「無法轉換零到字符串」
- 5. Silverlight轉換器將對象轉換爲字符串並返回
- 6. 將URL-info作爲字符串返回?
- 7. 將零終止字符串轉換爲D字符串
- 8. VB.NET - 將字符串轉換爲雙精度字符並返回
- 9. 將URL字符串轉換爲java.io.File
- 10. 將url轉換爲字符串
- 11. IOS將URL字符串轉換爲NSString?
- 12. 如何將字符串轉換爲url?
- 13. 將單字節轉換爲字符串並返回字節
- 14. 將NSString轉換爲NSDate返回零
- 15. 將字符串轉換爲字符指針返回空字符串
- 16. 將字節數組轉換爲字符串並返回
- 17. 將RGB從字符串轉換爲數字並返回
- 18. 將字體轉換爲字符串並返回
- 19. 將字節[]轉換爲字符串並返回
- 20. 如何將字符串轉換爲字節數組並返回
- 21. 將字節數組轉換爲字符串並返回到C#
- 22. 將字符串數組轉換爲字節數組並返回
- 23. 將字節數組轉換爲字符串並返回
- 24. 將字節[]轉換爲字符串並返回c#
- 25. 將url編碼的字符串轉換爲python unicode字符串
- 26. 將字符串轉換爲byte []創建零字符
- 27. TO_char將數字轉換爲字符串後返回斜槓值字符串
- 28. 將字符串轉換爲日期並將日期轉換回字符串
- 29. 將字符串轉換爲time_t,然後將time_t轉換回字符串
- 30. 字符串轉換爲INT(保零)
不要調用'URL(string:)'。使用URLComponents。 – matt
需要在這裏使用'var request = URLRequest(url:url as URL) request.httpMethod =「POST」 request.addValue(「您的訪問令牌」,對於HTTP頭字段:「accessToken」)。你不能將'String'轉換爲'URL',這就是爲什麼你在這裏得到'nil'的原因。 –
thanks @matt。使用URLComponents都很順利。 –