我的問題很簡單。有人可以告訴我如何獲取由UIWebView接收的URL中的查詢字符串參數。目標c很容易,但我很快就需要一些幫助,因爲我是新手。提前致謝。從Swift中的UIWebView中的URL獲取查詢字符串參數?
4
A
回答
9
在NSURL類中存在.query
屬性,它返回字符串後的所有內容?在形式的網址:在這個例子中 http://www.example.com/index.php?key1=value1&key2=value2 使用的代碼:
var url: NSURL = NSURL(string: "http://www.example.com/index.php?key1=value1&key2=value2")
println(url.query) // Prints: Optional("key1=value1&key2=value2")
更多信息在documentation
至於從UIWebView中獲得的URL,你可以使用的線沿線的東西:
let url: NSURL = someWebView.NSURLRequest.URL
2
爲了使它有點更容易得到你所期望的特定參數的值,你可以使用URLComponents
這將解析出查詢字符串PARAMET你的。
例如,如果我們想查詢字符串參數key2
在這個URL值:
「https://www.example.com/path/to/resource?key1=value1&key2=value2」
我們可以創建一個URLComponents結構,然後篩選查詢項目與第一個匹配,並打印其值:
let url = URL(string: "https://www.example.com/path/to/resource?key1=value1&key2=value2")
if let url = url,
let urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false) {
let parameterWeWant = urlComponents.queryItems?.filter({ $0.name == "key2" }).first
print(parameterWeWant?.value ?? "")
}
關鍵(!)事情是urlComponents.queryItems
爲我們返回了這個QueryItem
結構數組,這爲我們提供了一種更簡單的方法來過濾參數並獲取我們要查找的參數的值。
▿ Optional([key1=value1, key2=value2])
▿ some: 2 elements
▿ key1=value1
- name: "key1"
▿ value: Optional("value1")
- some: "value1"
▿ key2=value2
- name: "key2"
▿ value: Optional("value2")
- some: "value2"
0
我們可以解析網址參數用這種方法,
func getParameterFrom(url: String, param: String) -> String? {
guard let url = URLComponents(string: url) else { return nil }
return url.queryItems?.first(where: { $0.name == param })?.value
}
let url = "http://www.example.com/index.php?key1=value1&key2=value2"
let key1 = self.getParameterFrom(url: url, param: "key1")
print("\(key1)") // value1
相關問題
- 1. 如何從Swift 3 xcode8的UIWebView中的url中獲取查詢字符串參數?
- 2. 從JavaScript中獲取來自URL的查詢字符串參數
- 3. 從url中獲取參數字符串
- 4. 如何從JavaScript中的查詢字符串URL中提取獲取參數
- 5. 如何從PHP中的URL字符串提取查詢參數?
- 6. 在AngularJS中獲取URL參數查詢字符串
- 7. 如何從codigniter的查詢字符串中獲取參數值
- 8. 獲取UIWebView URL的查詢
- 9. nextjs:如何從Next.js中的url獲取GET(查詢字符串)參數?
- 10. 從java上的查詢字符串獲取參數字符'#'
- 11. Owin獲取查詢字符串參數
- 12. 如何發送查詢字符串作爲獲取參數swift
- 13. 從url中刪除特定的查詢字符串參數值
- 14. 從查詢字符串中獲取參數
- 15. 如何直接從查詢字符串(URL)中獲取Yii參數
- 16. 如何從字符串中獲取查詢字符串參數? LUA/nginx
- 17. 從URL字符串中提取查詢字符串
- 18. 如何從C#中的相對URL字符串獲取參數?
- 19. C#WebAPI - 獲取URL作爲查詢字符串傳遞參數
- 20. PHP添加/修改查詢字符串參數並獲取URL
- 21. 獲取託管bean中的查詢字符串參數
- 22. 從javascript中的查詢字符串中獲取數據
- 23. 使用JavaScript從乾淨/ SEO友好的URL獲取查詢字符串參數
- 24. jquery從url中獲取查詢字符串
- 25. 如何從URL中獲取查詢字符串
- 26. 如何從URL中獲取查詢字符串
- 27. 從查詢字符串獲取數據
- 28. 獲取URL查詢字符串和PHP
- 29. 獲取當前url查詢字符串
- 30. 獲取URL查詢字符串不
有沒有一種簡單的方法,然後選擇'key1'或'key2'價值? – tylerSF 2016-02-27 19:07:38
我想我可以做'let params = url.query;讓splitParams = params!.componentsSeparatedByString(「=」)' – tylerSF 2016-02-27 19:21:31