Python-사용자 지정 HTTP 요청
HTTP (Hypertext Transfer Protocol)는 클라이언트와 서버 간의 통신을 가능하게하는 데 사용되는 프로토콜입니다. 클라이언트와 서버 간의 요청-응답 프로토콜로 작동합니다. 요청 장치를 클라이언트라고하고 응답을 보내는 장치를 서버라고합니다.
urllib는 http 요청을 처리하기 위해 파이썬 프로그램에서 사용되는 전통적인 파이썬 라이브러리입니다. 그러나 이제는 urllib가 사용하던 것보다 더 많은 일을하는 urllib3이 있습니다. urllib3 라이브러리를 가져 와서 파이썬이 http 요청을 만들고 응답을받는 데 어떻게 사용할 수 있는지 확인합니다. 요청 방법을 선택하여 요청 유형을 사용자 지정할 수 있습니다.
Pip install urllib3
예
아래 예제에서는 http 요청의 연결 세부 사항을 처리하는 PoolManager () 객체를 사용합니다. 다음으로 request () 객체를 사용하여 POST 메서드로 http 요청을합니다. 마지막으로 json 라이브러리를 사용하여 수신 된 값을 json 형식으로 인쇄합니다.
import urllib3
import json
http = urllib3.PoolManager()
r = http.request(
'POST',
'http://httpbin.org/post',
fields={'field': 'value'})
print json.loads(r.data.decode('utf-8'))['form']
위의 프로그램을 실행하면 다음과 같은 결과가 나옵니다.
{field': value'}
쿼리를 사용하는 URL
쿼리 매개 변수를 전달하여 맞춤 URL을 만들 수도 있습니다. 아래 예제에서 요청 메소드는 쿼리 문자열의 값을 사용하여 python 프로그램의 다른 함수에서 추가로 사용할 수있는 URL을 완성합니다.
import requests
query = {'q': 'river', 'order': 'popular', 'min_width': '800', 'min_height': '600'}
req = requests.get('https://pixabay.com/en/photos/', params=query)
print(req.url)
위의 프로그램을 실행하면 다음과 같은 결과가 나옵니다.
https://pixabay.com/en/photos/?q=river&min_width=800&min_height=600&order=popular