python 은 urllib 와 urllib 2 를 이용 하여 http 의 GET/POST 에 접근 합 니 다.
본 고 는 python 이 http 의 GET/POST 를 어떻게 방문 하 는 지 에 관 한 내용 을 소개 하고 있 습 니 다.urllib 와 urllib 2 를 사용 하면 http 에 대한 방문 을 쉽게 실현 할 수 있 습 니 다.다음은 더 이상 말 하지 않 겠 습 니 다.상세 한 소 개 를 해 보 겠 습 니 다.
예 를 들 어 상세 하 게 해석 하 다.
다음은 예 를 들 어 옳 은 것 을 실현 한다.http://127.0.0.1/cgi/testGET 와 POST
일반적인 의미 의 query string 을 사용 합 니 다.
POST 제 이 슨 받 아들 이기
그 중
urllib 2 의 Request 방법 은 하나의 인자 만 가 져 오 는 것 이 GET 방법 이지 만 두 개의 인 자 를 가 져 오 면 http 의 POST 방법 이 고 두 번 째 인 자 는 POST 의 내용 입 니 다.
#!/usr/bin/env python
import urllib
import urllib2
import json
url_base = "http://127.0.0.1/cgi/test"
#GET
try:
query = {'test':'yes','name':'colin'}
query_string = urllib.urlencode(query)
url = url_base+"?"+query_string
print "GET", url<br data-filtered="filtered"> print "web output:"
print urllib2.urlopen(urllib2.Request(url)).read()
except Exception as err:
print err
#post
try:
url = url_base
print "POST", url
a = {'k1':123, 'k2': '456', 'k3':'test'}
json_s = json.dumps(a)<br data-filtered="filtered"> print "POST input:"
print json_s<br data-filtered="filtered"> print "web output:"
print urllib2.urlopen(urllib2.Request(url, json_s)).read()
except Exception as err:
print err
test 는 bash 로 작 성 됩 니 다.다음 과 같 습 니 다.jq 는 json 을 처리 하 는 명령 입 니 다.다운로드 해 야 합 니 다.bash/sed/awk 는 모두 시스템 자체 테이프 일 것 입 니 다.
#!/bin/bash
echo -e 'Content-type:text/plain\r'
echo -e '\r'
if [ X"$REQUEST_METHOD" = X"POST" ];then
jq . | sed -nr '/:/!d; s/^([ \t]*"[^"]+"[ \t]*):/\1=/;s/,[ \t]*$//;s/"//g;p'
else
echo ${QUERY_STRING} | awk 'BEGIN{RS="&"}1'
fi
아무 웹 서버 나 사용 할 수 있 습 니 다.CGI 만 지원 하면 가 벼 운 웹 서버 인 boa 를 사용 합 니 다.대형 애플 리 케 이 션 사이트 에 적합 하지 않 을 수도 있 지만 끼 워 넣 은 CGI 로 API 를 제공 하 는 것 이 유용 하고 배치 가 쉽 습 니 다.건설 후 테스트 해 보 세 요.
$ ./test.py
GET http://127.0.0.1/v1/lic/test?test=yes&name=colin
web output:
test=yes
name=colin
POST http://127.0.0.1/v1/lic/test
POST input:
{"k3": "test", "k2": "456", "k1": 123}
web output:
k3= test
k2= 456
k1= 123
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JSPython에서 병렬 API 호출을 만드는 방법여러 API 호출을 병렬로 수행해야 하는 경우는 매우 일반적인 시나리오입니다. Javascript에서는 여러 개Promises를 가동한 다음 함수 를 사용하여 모두 성공할 때까지 기다릴 수 있습니다. 또는 RxJS,...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.