urllib.requet

요청 및 응답.urlopen()
url lib.request.Request()형식 인 스 턴 스
import urllib.request #      
import utllib.parse #      
url = 'http://httpbin.org/get'
req = urllib.request.Request(url)
rsp = urllib.request.urlopen(req)
rsp.status #    

.add_헤더(key,value)머리 정보 추가
import urllib.error
import urllib.request
import urllib.parse
url = 'http://httpbin.org/get'
req = urllib.request.Request(url, method='GET')
req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36')
rsq = urllib.request.urlopen(req)
b = rsq.read()
from pprint import pprint
pprint(b.decode())



('{
' ' "args": {},
' ' "headers": {
' ' "Accept-Encoding": "identity",
' ' "Connection": "close",
' ' "Host": "httpbin.org",
' ' "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36"
' ' },
' ' "origin": "175.167.138.151",
' ' "url": "http://httpbin.org/get"
' '}
')

.Request(url,data='데이터')구조 POST 접근
import urllib.request
import urllib.parse
url = 'http://httpbin.org/post'
form = {'name':'Jin', 'age':20}
data = urllib.parse.urlencode(form)
data = data.encode()
req = urllib.request.Request(url, data=data)
rsq = urllib.request.urlopen(req)
b = rsq.read()
b = b.decode()
from pprint import pprint
pprint(b)



('{
' ' "args": {},
' ' "data": "",
' ' "files": {},
' ' "form": {
' ' "age": "20",
' ' "name": "Jin"
' ' },
' ' "headers": {
' ' "Accept-Encoding": "identity",
' ' "Connection": "close",
' ' "Content-Length": "15",
' ' "Content-Type": "application/x-www-form-urlencoded",
' ' "Host": "httpbin.org",
' ' "User-Agent": "Python-urllib/3.6"
' ' },
' ' "json": null,
' ' "origin": "175.167.138.151",
' ' "url": "http://httpbin.org/post"
' '}
')

결과 http.client.HTTP Response
status 상태 코드
  • getcode()상태 코드 가 져 오기
  • reason 상태 텍스트
    .geturl()URL 가 져 오기
  • info()메타 정보 획득
  • read()는 바이트 까지 본문 을 읽 습 니 다
  • 인삼 을 전하 다
    data = {'name':'xxx', 'age':'xx'}
    params = urllib.parse.urlencode(data)
    rsp = urllib.request.urlopen(f'{url}?{params}')
    b = rsp.read()
    s = b.decode()
    from pprint import pprint
    pprint(s)
    

    좋은 웹페이지 즐겨찾기