수색…


HTTP GET

Python 2.x 2.7

파이썬 2

import urllib
response = urllib.urlopen('http://stackoverflow.com/documentation/')

urllib.urlopen() 을 사용하면 파일과 비슷하게 처리 할 수있는 응답 객체가 반환됩니다.

print response.code
# Prints: 200

response.code 는 http 반환 값을 나타냅니다. 200은 OK, 404는 NotFound 등입니다.

print response.read()
'<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\r\n<title>Documentation - Stack. etc'

response.read()response.readlines() 는 요청으로부터 반환 된 실제 html 파일을 읽는 데 사용될 수있다. 이 메소드는 file.read*

Python 3.x 3.0

파이썬 3

import urllib.request

print(urllib.request.urlopen("http://stackoverflow.com/documentation/"))
# Prints: <http.client.HTTPResponse at 0x7f37a97e3b00>

response = urllib.request.urlopen("http://stackoverflow.com/documentation/")

print(response.code)
# Prints: 200
print(response.read())
# Prints: b'<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\r\n<title>Documentation - Stack Overflow</title> 

이 모듈은 Python 3.x 용으로 업데이트되었지만 사용 사례는 기본적으로 동일합니다. urllib.request.urlopen 은 유사한 파일과 같은 객체를 반환합니다.

HTTP POST

POST 데이터는 인코딩 된 쿼리 인수를 데이터로 urlopen ()에 전달합니다.

Python 2.x 2.7

파이썬 2

import urllib
query_parms = {'username':'stackoverflow', 'password':'me.me'}
encoded_parms = urllib.urlencode(query_parms)
response = urllib.urlopen("https://stackoverflow.com/users/login", encoded_parms)
response.code
# Output: 200
response.read()
# Output: '<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\r\n<title>Log In - Stack Overflow'
Python 3.x 3.0

파이썬 3

import urllib
query_parms = {'username':'stackoverflow', 'password':'me.me'}
encoded_parms = urllib.parse.urlencode(query_parms).encode('utf-8')
response = urllib.request.urlopen("https://stackoverflow.com/users/login", encoded_parms)
response.code
# Output: 200
response.read()
# Output: b'<!DOCTYPE html>\r\n<html>....etc'

콘텐츠 형식 인코딩에 따라받은 바이트를 디코딩합니다.

수신 된 바이트는 올바른 문자 인코딩으로 디코딩되어 텍스트로 해석되어야합니다.

Python 3.x 3.0
import urllib.request

response = urllib.request.urlopen("http://stackoverflow.com/")
data = response.read()

encoding = response.info().get_content_charset()
html = data.decode(encoding)
Python 2.x 2.7
import urllib2
response = urllib2.urlopen("http://stackoverflow.com/")
data = response.read()

encoding = response.info().getencoding()
html = data.decode(encoding)


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow