> 백엔드 개발 > 파이썬 튜토리얼 > Python의 요청 모듈을 사용하는 방법은 무엇입니까?

Python의 요청 모듈을 사용하는 방법은 무엇입니까?

王林
풀어 주다: 2023-05-09 16:16:08
앞으로
1561명이 탐색했습니다.

    1. 파일 업로드

    우리는 요청이 무엇보다도 일부 데이터 제출을 시뮬레이션할 수 있다는 것을 알고 있습니다. 일부 웹사이트에서는 파일 업로드를 요구하며 이를 달성하기 위해 요청을 사용할 수도 있습니다. 예를 들어, 지금 파일을 업로드하고 싶다면 그렇게 할 수 있습니다.

    import requests
     
    f = {'f':open('a.text','rb')}
     
    r = requests.post('http://httpbin.org/post',files = f)
     
    print(r.text)
    로그인 후 복사

    프로그램을 실행해서 어떤 효과가 있는지 확인해 볼까요?

    응답에 파일 필드가 포함되어 있지만 양식 필드가 비어 있는 것을 볼 수 있습니다. 이는 파일 업로드 부분이 별도의 파일 필드로 식별된다는 것을 증명합니다.

    2. 쿠키

    쿠키를 사용하여 브라우저와 개발자 도구에서 쿠키 필드를 찾아 직접 복사할 수 있습니다.

    헤더에 쿠키를 설정한 후 요청을 보내면 로그인할 수 있습니다. 샘플코드는 다음과 같습니다.

    3.SSL 인증서 검증

    그럼 SSL 인증서란 무엇일까요?

    • SSL 인증서는 디지털 인증서로, 운전면허증, 여권, 사업자등록증의 전자 사본과 유사한 전자 사본입니다. 이는 신뢰할 수 있는 디지털 인증 기관(CA)에 의해 서명되며 클라이언트와 서버 모두 인증서의 유효성을 확인해야 합니다.

    • SSL 인증서의 주요 기능은 서버 인증 및 데이터 전송 암호화를 제공하는 것입니다. 전송 중에 데이터가 도난당하거나 변조되지 않도록 보장하고, 보안을 강화하고 허가받지 않은 사람이 서버에 접근하는 것을 방지합니다.

    • SSL 인증서 확인 과정에서 클라이언트와 서버 모두 인증서의 유효성을 확인해야 합니다.

    또한 요청에는 인증서 확인 기능도 있습니다. HTTP 요청을 보낼 때 SSL 인증서를 확인하여 이 인증서 확인 여부를 제어할 수 있습니다. 일반적으로 기본적으로 켜져 있습니다.

    그렇다면 코드를 어떻게 작성할까요?

    response = requests.get('http://www.baidu.com',verify = False)
    로그인 후 복사

    4. 프록시 설정

    일부 웹사이트의 경우 테스트 중에 콘텐츠를 얻을 수 있습니다. 자주 크롤링하면 IP가 차단되어 일정 기간 동안 접속이 불가능할 수 있습니다. 따라서 이러한 일이 발생하지 않도록 하려면 프록시를 설정하여 문제를 해결해야 합니다. 여기서는 proxies 매개변수를 사용합니다.

    Proxy는 네트워크에서 요청과 응답을 전달하기 위한 프록시 객체를 생성하는 데 사용할 수 있는 Python의 내장 모듈입니다. Python에서는 요청 라이브러리를 사용하여 HTTP 요청을 보내고 proxies 매개변수를 사용하여 프록시 개체를 지정할 수 있습니다.

    다음은 proxies 매개변수를 사용하여 프록시 개체를 설정하는 방법을 보여주는 샘플 코드입니다.

    import requests  
     
    # 创建一个 requests 对象  
    r = requests.get('http://example.com')
     
    # 设置代理对象  
    r.proxies = {'http': 'http://proxy.example.com:80'}
     
    # 发送请求并获取响应  
    response = r.send()
     
    # 打印响应状态码和头部信息  
    print(response.status_code)
    print(response.headers)
    로그인 후 복사

    위 코드에서는 먼저 요청 개체를 만들고 proxies 매개변수를 사용하여 프록시 개체를 설정합니다. 이 예에서는 http 요청을 Proxy.example.com이라는 프록시 서버로 전달하고 프록시 서버 주소를 80으로 설정합니다.

    그런 다음 send 메소드를 사용하여 프록시 객체를 매개변수로 전달하여 HTTP GET 요청을 보냈습니다. 마지막으로 response.status_code 및 response.headers 속성을 사용하여 응답 상태 코드와 헤더 정보를 인쇄합니다.

    5. 시간 초과 설정

    네트워크 상태가 좋지 않거나, 서버 응답이 너무 느리거나, 가끔 오류가 보고되는 경우, 서버가 제 시간에 응답하지 않는 것을 방지하기 위해 시간 초과 설정을 할 수 있습니다. , 여기서는 시간 초과가 매개변수로 사용됩니다.

    response = requests.get('http://www.baidu.com',timeout= 30)
    로그인 후 복사

    요청 객체의 timeout 속성은 요청 시간 초과를 설정하는 데 사용됩니다. 기본적으로 시간 초과 속성 값은 60입니다. 이는 요청 시간 초과가 60초임을 의미합니다. 제한 시간을 변경해야 하는 경우 30과 같이 더 작은 값으로 설정할 수 있습니다. 이는 요청 제한 시간이 30초임을 의미합니다.

    요청이 전송된 후 즉시 응답을 반환해야 하는 경우 시간 초과 속성을 0으로 설정할 수 있습니다. 이로 인해 시간 초과 속성의 값이 None이 되어 요청이 영원히 시간 초과됨을 나타냅니다.

    위 내용은 Python의 요청 모듈을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:yisu.com
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿