R136A1
๋ชจ๋ ์กฐ์ฌ ๋ณธ๋ฌธ
http ๋ชจ๋
http.client ์ ์์ค HTTP ํ๋กํ ์ฝ ํด๋ผ์ด์ธํธ(์์ฒญ ๋ณด๋ด๊ธฐ) / ๊ณ ์์ค์ urllib.request ์ฌ์ฉ
๊ฐ์ฒด(์ธ์คํด์ค) ์์ฑ ์์
http.client.HTTPConnection(host, port=None, [timeout], source_address=None, blocksize=8192)
c = http.client.HTTPConnection('www.python.org:80', 80)
c.connect() # 0. ๊ฐ์ฒด ์์ฑ ์ ์ง์ ๋ ์๋ฒ์ ์ฐ๊ฒฐํจ(ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ๋์ง ์์๋ค๋ฉด ์์ฒญ ์ ์๋์ผ๋ก ํธ์ถ)
c.request(method, url, body=None, headers={}, *, encode_chunked=False) # 1. ์์ฒญ ๊ตฌ์ฑํ๊ธฐ
๋ฐ๋ก ๋ณด๋ด๊ธฐ๋ ๊ฐ๋ฅ
c.putrequest(method, url, skip_host=False, skip_accept_encoding=False) # 1-1. ์๋ฒ์ ์ฐ๊ฒฐํ ํ ์ฒซ ๋ฒ์งธ ํธ์ถ
c.putheader(header, argument[, ...]) # 1-2. ํค๋ ๊ตฌ์ฑ
c.endheaders(message_body=None, *, encode_chunked=False) # 1-3. ํค๋์ ๋์ ์๋ฆฌ๋ ๋น ์ค
c.send(data) # 2. ์์ฒญ ๋ณด๋ด๊ธฐ
r = c.getresponse() # 3. ์๋ต ๋ฐ๊ธฐ
c.close() # 4. ์๋ฒ๋ก์ ์ฐ๊ฒฐ ๋ซ๊ธฐ
๊ฐ์ฒด(์ธ์คํด์ค) ๋ฐํ ์์ * ์ฌ์ฉ์๊ฐ ์ธ์คํด์คํ ํ์ง ์์
http.client.HTTPResponse(sock, debuglevel=0, method=None, url=None)
client์ getresponse๋ก ๋ฐ์ ๊ฒฐ๊ณผ
r.read([amt]) // response body๋ ๋ค์ ์ต๋ amt ๋ฐ์ดํธ๋ฅผ ์ฝ๊ณ ๋ฐํ
r.readinto(b) // response body์ ๋ค์ ์ต๋ len(b)๋ฐ์ดํธ๋ฅผ ๋ฒํผ b๋ก ์ฝ๊ณ ์ฝ์ ๋ฐ์ดํธ ์ ๋ฐํ
r.getheader(name, default=None) // header name์ ๊ฐ ๋ฐํ(์ผ์นํ๋ header์์ผ๋ฉด default ๋ฐํ)
r.getheaders() // (ํค๋, ๊ฐ) ํํ๋ก ๋ฆฌ์คํธ๋ฅผ ๋ฐํ
r.msg // ์๋ต ํค๋๋ฅผ ํฌํจํ๋ HTTPMessage ์ธ์คํด์ค
r.version // ์๋ฒ๊ฐ ์ฌ์ฉํ๋ HTTP ํ๋กํ ์ฝ ๋ฒ์ (HTTP/1.1 -> 11)
r.url // ๊ฐ์ ธ์จ ์์์ url (*์ผ๋ฐ์ ์ผ๋ก redirection ๋ฐ๋ผ๊ฐ๋์ง ํ๋ณํ๋ ๋ฐ ์ฌ์ฉ)
r.header // email.message.EmailMessage ์ธ์คํด์ค ํ์์ ์๋ต ํค๋
r.status // ์๋ฒ๊ฐ ๋ฐํํ ์ํ ์ฝ๋
r.reason // ์๋ฒ๊ฐ ๋ฐํํ ์ด์ ๋ฌธ๊ตฌ
http.server HTTP ์๋ฒ ํด๋์ค. socketserver์ ๊ธฐ๋ฐ์ ๋
http.HTTPStatus ์ฌ๋ฌ HTTP ์ํ ์ฝ๋์ ๊ด๋ จ ๋ฉ์์ง๋ฅผ http.HTTPStatus ์ด๊ฑฐํ์ ํตํด ์ ์
urllib.request ๋ชจ๋
'PROJECT > ๐งก์น' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ค๋ฏธ์ฑ ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ (0) | 2021.07.10 |
---|---|
http redirect ์กฐ์ฌ (0) | 2021.05.21 |
scant3r/xss (0) | 2021.05.04 |
scant3r/main (0) | 2021.05.04 |
3์ฃผ_์น ์ค์บ๋ ๊ธฐ์ด ์๋ฃ ์กฐ์ฌ (0) | 2021.04.10 |