1. urllib.parse 모듈
이 모듈은 url을 파싱한 결과로 ParseResult 인스턴스를 반환한다.
그 결과는 여러개가 있지만 그 중 중요한 것을 살펴보자
a. netloc : 네트워크의 위치와 포트 표시
b. path : 파일이나 애플리케이션 경로 표시
c. query : 쿼리 스트링 표시
2.urllib.request 모듈
urllib.request 모듈은 주어진 url 에서 데이터를 가져오는 기능을 제공한다.
이 모듈에서 가장 기본적인 함수는 urlopen() 이다.
urlopen() 을 사용해 보자
ex) urlopen(url, data=None , [timeout] )
a. 기본적인 요청방식은 get 이다. 전달할 파라미터가 있으면 url 인자에 포함해서 보낸다.
b. post 로 보내고 싶다면 data 에 문자열을 지정해야한다. 이때 data에 필요한 인자는
url인코딩이 필요하고, bytes 타입이어야 한다.
post 방식의 요청을 사용해 보자
1
2
|
data = "language=python&framework=django"
f = urlopen("요청할 url",bytes(data,encoding='urf-8'))
|
cs |
c. 만일 요청을 보낼 때 헤더를 지정하고 싶은 경우에는 url 대신에 Request 객체를 지정하고 .add_header() 메소드로
헤더를 추가한다.
한번 예시를 보자
1
2
|
encoding된 data 는 bytes(urlencode(data),encoding='utf-8')
f = urlopern(Request('요청할 url',encoding된 data).add_header('Content-type','application/x-www-form-urlencoded')
|
cs |
d. url 대신 file 의 위치를 지정하면 로컬 파일을 열 수도 있다.
e. get / post 는 urlopen 만 사용해도 되지만 post 등의 메소드같이 헤더의 조작이 필요하다면 request 클래스를 사 용해햐 한다.
'웹 > Django' 카테고리의 다른 글
Django 2. 프로젝트 뼈대 만들기 (0) | 2021.05.10 |
---|---|
django 1. 개발환경 구축하기 (0) | 2021.05.10 |
테스트 하기 (0) | 2020.12.23 |
배포시 주의점 (0) | 2020.12.21 |
장고 프로젝트 순서2 - 뷰 (0) | 2020.12.14 |