為了使用 URLSession 進行 HTTP 請求呼叫,我需要先將字串轉換為 URL,所以我嘗試了所有方法,但無法將這段字串轉換為 URL(字串:)。這是字串:“http://api-aws-eu-qa-1.abc-cde.com/v1/car-types/manufacturer?page=0&pageSize=10&wa_key=abc-cde-efg-44ccd99”
我不能分享確切的網址,但格式都是一樣的。具有相同格式的實際 url 在瀏覽器中可以正常作業,但在 Swift 中不行,在 POSTMAN 中也可以正常作業 我非常感謝您的幫助,我完全陷入了這個問題,無法繼續我的任務。
更新:用 fiddler 測驗,請求沒有通過這個 URL -“”http://api-aws-eu-qa-1.abc-cde.com/v1/car-types/manufacturer ?page=0&pageSize=10&wa_key=abc-cde-efg-44ccd99”"
但是,當在提琴手中洗掉此 并重新發送時,它起作用了。有什么想法嗎 ..?
uj5u.com熱心網友回復:
字串到 URL
let url = URL(string: "the url string goes here")
字串的 URL
let url = URL(string: "the url string goes here")
let urlString = url.absoluteString
從 URLComponents 創建 URL
var url: URL? {
var components = URLComponents()
components.scheme = "https"
components.host = "domain goes here" //example: twitter.com
components.path = "/path/goes/here"
components.queryItems = [
URLQueryItem(name: "item1", value: string1),
URLQueryItem(name: "item2", value: string2)
]
return components.url
}
uj5u.com熱心網友回復:
嘗試將 HEADER 添加到您的請求中:
let url = URL(string : urlString)
var request = URLRequest(url : url)
request.setValue("Application/json", forHTTPHeaderField : "Content-Type")
uj5u.com熱心網友回復:
您的網址是:
http://api-aws-eu-qa-1.abc-cde.com/v1/car-types/manufacturer?page=0&pageSize=10&wa_key=abc-cde-efg-44ccd99`
“主機”部分是:
api-aws-eu-qa-1.abc-cde.com%E2%80%8B
編碼一個零寬度空間。這是一個完全有效的 URL:
URL(string: "http://api-aws-eu-qa-1.abc-cde.com/v1/car-types/manufacturer?page=0&pageSize=10&wa_key=abc-cde-efg-44ccd99")
=> Optional(http://api-aws-eu-qa-1.abc-cde.com/v1/car-types/manufacturer?page=0&pageSize=10&wa_key=abc-cde-efg-44ccd99)
但是,沒有這樣的主機api-aws-eu-qa-1.abc-cde.com,因此您應該預計實際連接會失敗。
我希望生成你的 URL 字串的任何東西都有一個錯誤。
如果您在創建 URL 本身時遇到問題(如果URL(string:)回傳 nil,那么我希望這不是您的實際 URL 字串。
如果你構造一個 URLComponents,結果是正確的,但可能會有點誤導:
URLComponents(string: "http://api-aws-eu-qa-1.abc-cde.com/v1/car-types/manufacturer?page=0&pageSize=10&wa_key=abc-cde-efg-44ccd99")?.host
Optional("api-aws-eu-qa-1.abc-cde.com")
雖然這看起來像"api-aws-eu-qa-1.abc-cde.com",但字串實際上在末尾有一個零寬度空間,它是不可見的(但仍然是主機欄位的一部分,如果您嘗試連接到它,它將正確地失敗)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/421197.html
標籤:
