Python 요청 : 알아야 할 모든 것



이 블로그는 파이썬 요청 모듈을 자세히 안내합니다. GET 및 POST 요청, 세션 개체, 쿠키 및 헤더에 익숙해집니다.

Python 요청은 매일 거의 400,000 회 다운로드합니다. 이 숫자는 이것의 인기를 이해하기에 충분히 분명합니다. . 최근 몇 년 동안 파이썬 프로그래밍 언어는 많은 개발자에게 가장 원하는 프로그래밍 언어가되었습니다. 요청과 같은 개념 및 라이브러리는 개발자가 다른 프로그래밍 언어에서 Python으로 전환해야하는 많은 이유 중 하나입니다. 이 블로그에서는 다음 주제를 다룹니다.

Python 요청이란 무엇입니까?

Python 요청은 Kenneth Reitz가 작성했으며 Apache 2.0에 따라 라이센스가 부여되었습니다. 공식 문서 페이지에 언급 된대로 인간 친화적 인 HTTP 라이브러리입니다. 사용하기 쉽고 기본적으로 모든 종류의 HTTP 요청을 만드는 데 사용됩니다. 다음은 요청과 함께 제공되는 몇 가지 고급 기능입니다.
  1. 연결 유지 및 연결 풀링
  2. 국제 도메인 및 URL
  3. 쿠키 지속성이있는 세션
  4. 브라우저 스타일 SSL 확인
  5. 자동 콘텐츠 디코딩
  6. 기본 / 다이제스트 인증
  7. 우아한 키 / 값 쿠키
  8. 자동 감압
  9. 유니 코드 응답 본문
  10. HTTPs 프록시 지원
  11. 멀티 파트 파일 업로드
  12. 스트리밍 다운로드
  13. 연결 시간 초과
  14. 청크 요청
이것들은 모두 파이썬 요청 라이브러리의 고급 기능입니다. 처음에 파이썬 요청을 사용하는 이유를 이해해 보겠습니다.

왜 파이썬 요청을 사용합니까?

왜 우리는 파이썬 요청을 사용합니까? 그 이유는 매우 간단합니다. Python 요청을 사용하는 동안 URL에 쿼리를 수동으로 추가하고 게시물 데이터를 양식 인코딩 할 필요가 없습니다. 모든 종류의 http 요청을 할 때 작업이 더 쉬워집니다.이제 우리는 파이썬 요청과이를 파이썬에서 사용하는 이유에 익숙해 졌으므로 프로젝트 또는 시스템에 요청을 설치하는 방법을 이해해 보겠습니다.

Python 요청을 설치하는 방법?

설치 부분도 매우 쉽습니다. 시스템에 pipenv 설정이 설치되어있는 경우 터미널에서 다음 명령을 실행하면됩니다.

$ pip 설치 요청

그러면 시스템에 요청 라이브러리가 설치됩니다. 설치 요청에 대한 접근 방식이 하나 더 있습니다. pycharm을 사용하는 경우 설정에서 프로젝트 인터프리터에 대한 요청을 추가 할 수 있습니다. 우리 프로젝트에 라이브러리를 설치하는 경우 터미널과 동일한 용도로 사용됩니다.이제 설치가 끝났으므로 파이썬에서 요청을 가져오고 게시하는 방법을 이해해 보겠습니다.

가져 오기 및 게시 요청을하는 방법?

Get request는 기본적으로 서버에서 데이터를 요청하는 데 사용됩니다. 다음은 get 요청을 만드는 구문입니다.
import requests res = requests.get ( 'url') #res는 여기서 응답 객체입니다.
사후 요청은 처리 할 데이터를 서버에 제출하는 데 사용됩니다. 다음은 게시 요청을 만드는 구문입니다.
가져 오기 요청 페이로드 = { 'key1': 'value1'} res = requests.post ( 'url', data = payload)
이제 get 및 post 요청을 만드는 방법을 알았으므로 get 요청을 사용하여 매개 변수를 URL에 전달하는 방법을 살펴 보겠습니다.

URL에 매개 변수 전달

URL에 매개 변수를 전달하는 것은 get 요청을 만드는 것만 큼 간단합니다. 다음은 url에 매개 변수를 전달하는 예입니다.
import requests payload = { 'key1': 'value1', 'key2': 'value2'} res = requests.get ( 'url', params = payload) print (res.url) # 매개 변수가있는 URL을 인쇄합니다. get 요청을 통해 전달되었습니다.

상태 코드

상태 코드도 확인할 수 있습니다. 다음은 상태 코드를 확인하는 코드입니다.





가져 오기 요청 res = requests.get ( 'url') print (res.status_code ())
코드가 200을 반환하면 오류가없고 요청이 모두 정상임을 의미합니다. 잘못된 요청을하면 코드는 404 또는 505와 같은 코드를 반환하여 http 오류를 발생시킵니다.

응답 내용

서버의 응답 내용도 읽을 수 있습니다. 라이브러리는 서버에서 콘텐츠를 자동으로 디코딩합니다.
가져 오기 요청 res = requests.get ( 'url') print (res.content)

요청에는 내장 된 json 디코더도 있습니다.

import requests res = requests.get ( 'url') print (res.json ()) # json 형식으로 응답을받습니다.

멀티 파트 파일 업로드

요청을 사용하여 여러 부분으로 된 파일을 업로드하는 것은 매우 쉽습니다.
import requests files = { 'file': open ( 'filename', 'rb')} res = requests.post ( 'url', files = files) print (res.text)
여러 파일을 보내기 위해 files 매개 변수에 여러 파일을 지정합니다.

쿠키 및 헤더

응답 객체를 사용하여 서버의 응답 헤더와 쿠키를 볼 수 있습니다. 다음은 서버의 헤더를 보는 코드입니다.
가져 오기 요청 res = requests.get ( 'url') print (res.headers)
사용자 지정 헤더도 URL에 전달할 수 있습니다. 코드를 살펴 보겠습니다.
가져 오기 요청 헤더 = { 'key1': 'value1'} res = requests.get ( 'url', headers = headers) print (res.headers)
요청은 사용자 지정 헤더를 기반으로 동작을 변경하지 않습니다. 최종 요청으로 전달됩니다. 쿠키 응답 개체를 사용하여 볼 수도 있습니다.
가져 오기 요청 # 자신의 쿠키를 전달하기 위해 쿠키 매개 변수를 사용할 수 있습니다. cookies = dict (cookies = 'working') res = requests.get ( 'url', cookies = cookies) print (res.text)

쿠키는 RequestCookieJar에서 반환되며, 이는 사전처럼 작동하지만 여러 도메인 또는 경로에서 사용하기에 적합한보다 완전한 인터페이스를 제공합니다.



세션 개체

세션 개체를 사용하면 요청 전체에서 특정 매개 변수를 유지할 수 있습니다.
  • 세션 인스턴스에서 생성 된 모든 요청에서 쿠키를 유지합니다.
  • urllib3 연결 풀링 사용
  • 상당한 성능 향상
  • 세션 개체에는 기본 요청 API의 모든 메서드가 있습니다.
다음은 요청간에 일부 쿠키를 유지하는 코드입니다.
s = requests.session () s.get ( 'url') res = s.get ( 'url') print (res.text)

오류 및 예외

다음은 파이썬 요청에서 발생하는 오류 및 예외입니다.
  • 네트워크 문제가 발생한 경우 요청은 ConnectionError 예외를 발생시킵니다.
  • Response.raise_for_status ()는 실패한 상태 코드가있을 때 HTTP 오류를 발생시킵니다.
  • 시간 초과가 있으면 시간 초과 예외가 발생합니다.
  • 요청이 구성된 최대 리디렉션 수를 초과하면 TooManyRedirects 예외가 발생합니다.
이 블로그에서 우리는 다양한 고급 기능이있는 파이썬 요청 모듈에 대해 논의했습니다. 파이썬의 요청 라이브러리에서 응답 내용 및 기타 개념을 사용하여 설치 및 가져 오기 및 게시 요청에 대해 논의했습니다. Python 요청 모듈은 다음과 같은 다양한 기능 중 하나입니다. 파이썬 프로그래밍 언어 . 등록하여 학습을 시작할 수 있습니다. 파이썬 프로그래밍 언어의 가능성을 발견하십시오. 질문이 있습니까? 댓글 섹션에서 언급하시면 다시 연락 드리겠습니다.