2016-06-04 1 views
0
내가 HTTP 요청을 보내려면 알고

, 나는 그것을 전송하기 전에 사전으로 형성 할 수있다 : 파이썬 요청 URL을 어떻게 디코딩 할 수 있습니까?

payload = dict(
    username="something", 
    password="something_else" 
) 

r = requests.get('http://example.com', params=payload) 

는 그것뿐만 아니라 반대합니까? 내 요청이 다른 URL로 나를 리디렉션이 발생하면 내가로 리디렉션 된 경우, 나는 볼 수

print r.url 

하지만 URL은 같은 것을 일어나는 경우 :

http://example.com/somepage.htm?varone=test&vartwo=3451&varthree=something 

을 내가 원하는 일이 해당 URL (문자열 3451)에서 vartwo를 꺼내십시오. 요청 모듈이 "vartwo"의 값을 원한다는 것을 지정하여이를 쉽게 수행 할 수있는 방법을 제공합니까? 다른 사전이나 일종의 매핑 객체일까요? 아니면 urllib.unquote를 사용하여 URL을 디코딩하고 문자열로 구문 분석 할 수있는 유일한 방법입니까?

+2

http://stackoverflow.com/questions/28328890/python-requests-extract-url-parameters-from-a-string –

+0

도 http://stackoverflow.com/questions/10113090/best-way -to-parse-a-url-query-string –

답변

0

urlparse module (Python 2.x, Python 3.x에서는 urllib.parse으로 이름이 바뀜)을 사용하십시오.

from urlparse import urlparse 

url = 'http://www.gurlge.com:80/path/file.html;params?a=1#fragment' 
o = urlparse(url) 

print o.params 
관련 문제