logo

Python 요청 튜토리얼

그만큼 Python의 요청 라이브러리 지정된 URL에 대한 HTTP 요청을 만들기 위한 Python의 필수 부분 중 하나입니다. REST API이든 웹 스크래핑이든 이러한 기술을 계속 진행하려면 요청을 배워야 합니다. URI에 요청하면 응답이 반환됩니다. Python 요청은 요청과 응답을 모두 관리하기 위한 내장 기능을 제공합니다.

빈에서 bcd로

이 튜토리얼에서는 Python 요청 라이브러리 , 제조법 GET 요청 Python 요청, 응답 개체 및 메서드, Python 요청을 사용한 인증 등을 통해.



파이썬-요청-모듈

내용의 테이블

Python 요청 모듈이란 무엇입니까?

  • Requests는 Python을 사용하여 HTTP/1.1 요청을 보낼 수 있는 Apache2 라이센스 HTTP 라이브러리입니다.
  • 웹을 사용하려면 Python 요청이 필수입니다. API를 사용하든, Facebook 페이지 전체를 다운로드하든, 훨씬 더 멋진 콘텐츠를 다운로드하든 URL에 요청해야 합니다.
  • 요청이 중요한 역할을 담당합니다. REST API , 그리고 웹 스크래핑 .
  • 요청 및 웹 스크래핑을 사용한 예제 Python 스크립트 확인 – BeautifulSoup을 사용하여 Python에서 웹 스크래핑 구현

요청 설치

설치 요청은 eis를 사용하는 운영 체제 유형에 따라 다르며, 어디에서나 기본 명령은 명령 터미널을 열고 실행하는 것입니다.



pip install requests>

모든 운영 체제에 요청을 설치하는 기본 방법은 기본 파일을 가져와 요청을 수동으로 설치하는 것입니다. 요청은 코드가 항상 사용 가능한 GitHub에서 적극적으로 개발됩니다. 코드의 경우 – 여기를 방문하세요 . 공개 저장소를 복제할 수 있습니다.

git clone git://github.com/psf/requests.git>

소스 복사본이 있으면 이를 자신의 Python 패키지에 포함하거나 사이트 패키지에 쉽게 설치할 수 있습니다.

cd requestspip install   .>

더 많은 결제를 원하시면 – Python에서 요청을 설치하는 방법 – Windows, Linux, Mac의 경우



요청하다

Python 요청 모듈에는 GET, POST, PUT, PATCH 또는 HEAD 요청을 사용하여 지정된 URI에 대한 Http 요청을 만드는 여러 가지 내장 메서드가 있습니다. Http 요청은 지정된 URI에서 데이터를 검색하거나 서버에 데이터를 푸시하기 위한 것입니다. 클라이언트와 서버 간의 요청-응답 프로토콜로 작동합니다. 엔드포인트에 GET 요청을 보내는 방법을 살펴보겠습니다. GET 메소드는 주어진 URI를 사용하여 주어진 서버에서 정보를 검색하는 데 사용됩니다. GET 메소드는 페이지 요청에 추가된 인코딩된 사용자 정보를 보냅니다. 페이지와 인코딩된 정보는 '?' 문자로 구분됩니다. 예를 들어:

https://www.google.com/search?q=hello>

Python 요청을 통해 GET 요청을 만드는 방법

Python의 요청 모듈은 다음과 같은 내장 메소드를 제공합니다. 얻다() 지정된 URI에 대한 GET 요청을 만들기 위한 것입니다.

통사론

requests.get(url, params={key: value}, args)>

예 :

예시 목적으로 github의 API에 요청을 시도해 보겠습니다.

파이썬3




import> requests> > # Making a GET request> r>=> requests.get(>' https://api.github.com/users/naveenkrnl '>)> > # check status code for response received> # success code - 200> print>(r)> > # print content of request> print>(r.content)>

>

>

이 파일을 request.py로 저장하고 터미널 실행을 통해

python request.py>

출력 –

python-요청-get-메소드

자세한 내용은 다음을 방문하세요. GET 메서드 – Python 요청

HTTP 요청 방법

방법 설명
얻다 GET 메소드는 주어진 URI를 사용하여 주어진 서버에서 정보를 검색하는 데 사용됩니다.
우편 POST 요청 방법은 웹 서버가 요청 메시지 본문에 포함된 데이터를 수락하도록 요청합니다(대부분 저장용).
놓다 PUT 메서드는 포함된 엔터티가 제공된 URI 아래에 저장되도록 요청합니다. URI가 이미 존재하는 리소스를 참조하는 경우 수정되고, URI가 기존 리소스를 가리키지 않는 경우 서버는 해당 URI를 사용하여 리소스를 생성할 수 있습니다.
삭제 DELETE 메소드는 지정된 리소스를 삭제합니다.
머리 HEAD 메소드는 GET 요청과 동일한 응답을 요청하지만 응답 본문은 없습니다.
반점 수정 기능에 사용됩니다. PATCH 요청에는 전체 리소스가 아닌 리소스에 대한 변경 사항만 포함하면 됩니다.

응답 객체

URI에 요청하면 응답이 반환됩니다. Python의 관점에서 이 Response 개체는 request.method()에 의해 반환되며 메서드는 get, post, put 등입니다. Response는 데이터 정규화 또는 이상적인 코드 부분 생성을 지원하는 많은 기능과 속성을 갖춘 강력한 개체입니다. 예를 들어, 응답.상태_코드 헤더 자체에서 상태 코드를 반환하고 요청이 성공적으로 처리되었는지 확인할 수 있습니다. 응답 개체는 많은 기능, 메서드 및 기능을 암시하는 데 사용될 수 있습니다.

예 :

파이썬3

호랑이와 사자의 차이




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://api.github.com/ '>)> # print request object> print>(response.url)> # print status code> print>(response.status_code)>

>

>

이 파일을 request.py로 저장하고 아래 명령을 사용하여 실행하십시오.

Python request.py>

응답 파이썬 요청

상태 코드 200은 요청이 성공적으로 이루어졌음을 나타냅니다.

대응 방법

방법 설명
응답.헤더 response.headers는 응답 헤더 사전을 반환합니다.
응답.인코딩 response.encoding은 response.content를 디코딩하는 데 사용되는 인코딩을 반환합니다.
응답.경과 response.elapsed는 요청 전송부터 응답 도착까지 경과된 시간과 함께 timedelta 객체를 반환합니다.
응답.닫기() response.close()는 서버에 대한 연결을 닫습니다.
응답.내용 response.content는 응답 내용을 바이트 단위로 반환합니다.
응답.쿠키 response.cookies는 서버에서 다시 전송된 쿠키와 함께 CookieJar 개체를 반환합니다.
응답.역사 response.history는 요청 기록(url)을 보유한 응답 객체 목록을 반환합니다.
response.is_permanent_redirect response.is_permanent_redirect는 응답이 영구 리디렉션된 URL이면 True를 반환하고, 그렇지 않으면 False를 반환합니다.
response.is_redirect response.is_redirect는 응답이 리디렉션된 경우 True를 반환하고, 그렇지 않으면 False를 반환합니다.
response.iter_content() response.iter_content()는 response.content를 반복합니다.
응답.json() response.json()은 결과의 JSON 객체를 반환합니다(결과가 JSON 형식으로 작성된 경우, 그렇지 않은 경우 오류가 발생합니다).
응답.url response.url은 응답의 URL을 반환합니다.
응답.텍스트 response.text는 응답 내용을 유니코드로 반환합니다.
응답.상태_코드 response.status_code는 상태를 나타내는 숫자를 반환합니다(200은 정상, 404는 찾을 수 없음).
응답.요청 response.request는 이 응답을 요청한 요청 객체를 반환합니다.
응답.이유 response.reason은 상태 코드에 해당하는 텍스트를 반환합니다.
response.raise_for_status() response.raise_for_status()는 프로세스 중에 오류가 발생한 경우 HTTPError 객체를 반환합니다.
응답.확인 response.ok는 status_code가 200보다 작으면 True를 반환하고, 그렇지 않으면 False를 반환합니다.
응답.링크 response.links는 헤더 링크를 반환합니다.

Python 요청을 사용한 인증

인증은 사용자에게 특정 리소스에 액세스할 수 있는 권한을 부여하는 것을 의미합니다. 모든 사람이 모든 URL의 데이터에 액세스하도록 허용할 수는 없으므로 주로 인증이 필요합니다. 이 인증을 달성하기 위해 일반적으로 Authorization 헤더 또는 서버에서 정의한 사용자 정의 헤더를 통해 인증 데이터를 제공합니다.

예 -

파이썬3


자바 람다



# import requests module> import> requests> from> requests.auth>import> HTTPBasicAuth> # Making a get request> response>=> requests.get(>' https://api.github.com / user, '>,> >auth>=> HTTPBasicAuth(>'user'>,>'pass'>))> # print request object> print>(response)>

>

>

사용자를 교체하고 사용자 이름과 비밀번호를 전달합니다. 요청을 인증하고 응답 200을 반환하거나 그렇지 않으면 오류 403을 반환합니다.

인증-파이썬-요청

더 많은 방문을 원하시면 – Python 요청을 사용한 인증

SSL 인증서 확인

요청은 웹 브라우저와 마찬가지로 HTTPS 요청에 대한 SSL 인증서를 확인합니다. SSL 인증서는 암호화 키를 조직의 세부 정보에 디지털 방식으로 바인딩하는 작은 데이터 파일입니다. SSL 인증서가 있는 웹사이트를 보안 웹사이트라고 부르는 경우가 많습니다. 기본적으로 SSL 확인이 활성화되어 있으며 인증서를 확인할 수 없는 경우 요청에서 SSLError가 발생합니다.

SSL 인증서 확인 비활성화

Python 요청을 사용하여 잘못된 SSL 인증서가 있는 웹사이트에 액세스해 보겠습니다.

파이썬3

자바의 회문




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://expired.badssl.com/ '>)> # print request object> print>(response)>

>

>

출력 :-

SSL-인증서-검증-파이썬-요청

이 웹사이트에는 SSL 설정이 없으므로 이 오류가 발생합니다. Python 요청을 통해서만 유효성 검사를 위해 인증서에 대한 링크를 전달할 수도 있습니다.

파이썬3




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://github.com '>, verify>=>'/path/to/certfile'>)> # print request object> print>(response)>

>

티스푼 크기
>

제공된 경로가 github.com의 SSL 인증서에 대해 올바른 경우에 작동합니다.

더 많은 방문을 원하시면- SSL 인증서 확인 – Python 요청

세션 개체

세션 개체를 사용하면 요청 전반에 걸쳐 특정 매개변수를 유지할 수 있습니다. 또한 세션 인스턴스에서 이루어진 모든 요청에 ​​걸쳐 쿠키를 유지하고 urllib3의 연결 풀링을 사용합니다. 따라서 동일한 호스트에 대해 여러 요청이 이루어지는 경우 기본 TCP 연결이 재사용되어 성능이 크게 향상될 수 있습니다. 세션 개체는 요청 당시의 모든 메서드입니다.

세션 개체 사용

쿠키를 URL로 설정한 다음 쿠키가 설정되었는지 확인하기 위해 다시 요청하여 세션 개체의 사용을 설명하겠습니다.

파이썬3




# import requests module> import> requests> > # create a session object> s>=> requests.Session()> > # make a get request> s.get(>' https://httpbin.org/cookies/set/sessioncookie/123456789 '>)> > # again make a get request> r>=> s.get(>' https://httpbin.org/cookies '>)> > # check if cookie is still set> print>(r.text)>

>

>

산출:

세션 개체-파이썬-요청

자세한 내용은 다음을 방문하세요. 세션 개체 – Python 요청

결론

Python 요청 라이브러리는 HTTP 요청을 만들고 웹 API와 상호 작용하기 위한 강력한 도구입니다. 이 튜토리얼에서는 GET 및 POST 요청 전송, 매개변수 및 헤더 처리, 응답 데이터 관리의 기본 사항을 다루었습니다. 라이브러리의 단순성과 직관적인 디자인으로 인해 초보자와 숙련된 개발자 모두가 접근할 수 있습니다.