2017-08-11 30 views
0

在書籤應用中。在瓶中我試圖捕獲一個鏈接被附加到一個URL。Python Bottle.Routes。捕獲問號(?)

但是,當我嘗試發送YouTube網址時,例如。

http://myapp.com/bookmark/https://www.youtube.com/watch?v=6ZOPGKFsTzI 

即使路線

@route("/bookmark/<url:re:.+>") 
def save(url) : 
    ... 

不會捕捉到它。

它捕獲的https://www.youtube.com/watch但停在?

模式上的任何想法,以配合這?

+0

''http://myapp.com/bookmark/https://www.youtube.com/watch?v=6ZOPGKFsTzI'.split'('/ bookmark /')[1]' –

+0

我沒在處理手動的字符串。這是在Bottle.routes。這在幕後正在爲我完成。這就是爲什麼我不能在進入正則表達式測試之前對字符串進行轉換。 – interstar

+0

您的示例url可以說是有缺陷的。至少應該避開問號,以將myapps.com的參數與youtube.com的參數區分開來。一些[有用的討論在這裏](https://stackoverflow.com/questions/2322764/what-c​​haracters-must-be-escaped-in-an-http-query-string)和其他地方。 –

回答

1

??部分可能不被認爲是Bottle框架的url的一部分,但作爲query string的一部分。

您可以爲書籤/.*設置路由,然後訪問請求對象以獲取完整的字符串。

+0

你有正確的想法,但要精確:問號確實是網址的一部分;它描繪了_query string_組件中的_path_組件。 –