> 백엔드 개발 > 파이썬 튜토리얼 > Python urlencode 인코딩 및 URL 접합

Python urlencode 인코딩 및 URL 접합

高洛峰
풀어 주다: 2016-10-19 11:17:20
원래의
1762명이 탐색했습니다.

urlencode

urlencode는 Dictionary

import urllib
d = {'name1':'www.pythontab.com','name2':'bbs.pythontab.com'}
print urllib.urlencode(d)
로그인 후 복사

출력:

name2=bbs.pythontab.com&name1=www.pythontab.com
로그인 후 복사

은 두 개의 URL 매개변수를 연결하는 것과 동일합니다. 이 사용법은 PHP의 http_build_query()와 유사합니다. 관심이 있는 경우 여기에서 사용하는 방법을 확인하세요. 너 자신.

urlencode 인코딩

urlencode 함수는 수신 매개변수의 원래 인코딩을 변경하지 않습니다. 즉, 호출하기 전에 post 또는 get 매개변수의 인코딩을 조정해야 함을 의미합니다.

문제: 이제 Google과 Baidu에 대한 요청을 시뮬레이션합니다. Baidu는 gb2312 인코딩을 사용하고 Google은 utf8 인코딩을 사용하므로 두 사이트에서 URL에 제출한 중국어 매개변수의 urlencode 값이 다릅니다. " PythonTab 중국어 웹사이트" 예:

# coding: UTF-8
str = u'PythonTab中文网'
str = str.encode('gb2312')
d = {'name':str}
q = urllib.urlencode(d)
print q
로그인 후 복사

결과:

name=PythonTab%D6%D0%CE%C4%CD%F8
로그인 후 복사

참고: urlencode의 매개변수는 Dictionary여야 합니다

기타 사용법

django의 urlencode도 비슷하며 방법은 다음과 같습니다.

from django.utils.http import urlquote
a = urlquote('PythonTab中文网')
print a
로그인 후 복사

한자의 GBK 인코딩 가져오기

urllib 변환 문자열

실제로 urllib의 인용 기능을 사용하여 URL에 있는 중국어를 변환하고 중국어를 GBK 인코딩으로 변환하면 결과 인코딩이 URI 표준을 준수하는 URL이 됩니다.

>>> import urllib
>>> a = "PythonTab中文网"
>>> a
'PythonTab\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91'
>>> urllib.quote(a)
'PythonTab%E4%B8%AD%E6%96%87%E7%BD%91'
>>>
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿