簡體   English   中英

如何建立一個包含來自Python用戶輸入的用戶名和密碼的URL?

[英]How do you build a URL that contains a username and password from user input in Python?

我看到您可以使用以下方式解析用戶名和密碼:

from urlparse import urlparse
r = urlparse('http://myuser:mypass@example.com')
print r.username
# => 'myuser'

我該怎么走呢? 我不能使用urlunparse因為我不能這樣做:

r.username = request.args['username']
# => AttributeError: can't set attribute

我很感興趣,因為用戶名包含需要轉義的字符(即: @/ )。

編輯:

該字符串來自用戶輸入,因此我不會提前知道它是什么。 維護您自己的轉義字符列表會帶來安全隱患,因此,字符串連接和使用replace自定義字符轉義將無濟於事。

事實證明,基本身份驗證URL的用戶名部分使用與查詢參數相同的轉義字符

因此答案是使用urllib.quote(username, safe='')然后進行連接。 你需要safe參數或/不會escapted。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM