2012-06-26 3 views
0

코드를 작동하지 :를 urlencode

import urllib,urllib2 
url = 'http://www.pythonchallenge.com/pc/def/linkedlist.php' 
print urllib2.urlopen(url).read() 
print urllib2.urlopen(url,urllib.urlencode({'nothing':12345})).read() 

두 개의 '인쇄'를 출력 동일한 콘텐츠, 어디에 문제가 내 코드에 왜 발생하는 문제는?

+1

분명히 연락하려는 웹 사이트는 POST 요청에서 보내는 문자열'nothing = 12345 '를 무시합니다. 나에게 꽤 합당한 것 같다. –

+2

pythonchallenge가 PHP로 작성된 것 같습니다. – geoffspear

+0

@SvenMarnach 당신은 맞습니다 – shellfly

답변

1

urlopen의 두 번째 인수는 POST 할 데이터입니다. URL 인수를 원할 경우 URL을 작성해야합니다.

print urllib2.urlopen("%s?%s" % (url,urllib.urlencode({'nothing':12345}))).read() 
+0

하지만 파이썬 온라인 mannul에서 urlopen 함수는 '데이터'를 respresent하는 선택적인 두 번째 매개 변수를 accpet 할 수 있습니다 – shellfly

+0

eh..sorry.url 인수는 POST 된 데이터와 다릅니다? – shellfly

+2

POST 메서드를 사용하여 리소스에 액세스해야한다면 데이터 인수가 원하는 것입니다. URL 쿼리 매개 변수로 "얻으십시오"라고 가정하면 – MattH

관련 문제