Używam tej niesamowitej biblioteki o nazwie requests
, aby zachować zgodność z python 2 & i uprościć zarządzanie żądaniami aplikacji.Python-Requests, parametry adresu wyodrębniania ze stringa
Mam przypadek, w którym muszę przeanalizować adres URL i zastąpić jeden z jego parametrów. Np:
http://example.com?param1=a&token=TOKEN_TO_REPLACE¶m2=c
I chcę uzyskać to:
http://example.com?param1=a&token=NEW_TOKEN¶m2=c
Z urllib
mogę osiągnąć to w następujący sposób:
from urllib.parse import urlparse
from urllib.parse import parse_qs
from urllib.parse import urlencode
url = 'http://example.com?param1=a&token=TOKEN_TO_REPLACE¶m2=c'
o = urlparse(url)
query = parse_qs(o.query)
if query.get('token'):
query['token'] = ['NEW_TOKEN', ]
new_query = urlencode(query, doseq=True)
url.split('?')[0] + '?' + new_query
>>> http://example.com?param2=c¶m1=a&token=NEW_TOKEN
Jak można osiągnąć taki sam przy użyciu biblioteki requests
?
chcę użyć Wnioski o ułatwienia zgodności między python 2 & 3 – Gab
@Gab lecz 'requests' nie oferuje tej funkcji. –
@Gab: Zaktualizowałem post, aby wyjaśnić, w jaki sposób można zachować zgodność między Python 2 i 3; ta sama funkcjonalność istnieje w obu wersjach, tylko w różnych lokalizacjach. "żądania" nie mogą tam pomóc. –