ホームページ  >  記事  >  バックエンド開発  >  urllibとurllib2を使ってhttp GET/POSTにアクセスするPython学習の詳細説明

urllibとurllib2を使ってhttp GET/POSTにアクセスするPython学習の詳細説明

silencement
silencement転載
2019-11-25 15:45:022341ブラウズ

urllibとurllib2を使ってhttp GET/POSTにアクセスするPython学習の詳細説明

まえがき

この記事では、主に Python が http の GET/POST アクセスを学習する方法を紹介します。urllib と urllib2 を使用すると、http アクセスを簡単に実装できます。以下に、詳細な紹介を見てみましょう。

例の詳細な説明

以下は、http://127.0.0.1/cgi/testに対する GET および POST を実装する例です。

通常の意味でクエリを使用します。 . string

POST accepts json

Python Video Tutorial

の学習を推奨 このうち、

##のRequestメソッドであれば、 #urllib2 は 1 つのパラメータのみを受け取ります。GET メソッドですが、2 つのパラメータを取る場合、それは http の POST メソッドであり、2 番目のパラメータは 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
print "Web 出力:"
print urllib2.urlopen(urllib2.Request(url) ).read()
例外 err:
print err

#post
try:
url = url_base
print "POST", url
a = {'k1':123, 'k2': '456', 'k3':'test'}
json_s = json.dumps(a)
print "POST input:"
print json_s
print "web Output:"
print urllib2.urlopen(urllib2.Request(url, json_s)).read()
excel以下に示すように、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 をサポートしている限り、どの Web サーバーでも使用できます。私は非常に軽量の Web サーバー、boa を使用しています。大規模なアプリケーション Web サイトには適していない可能性がありますが、組み込みアプリケーションに適していますが、CGI を使用して API を提供することは依然として非常に便利であり、デプロイメントも非常に簡単です。

ビルド後、テストします

$ ./test.py

GET http://127.0.0.1/v1/lic/test?test=yes&name=colin
web出力:
test=yes
name=colin

POST http://127.0.0.1/v1/lic/test
POST 入力:
{"k3": "テスト", "k2": "456", "k1": 123}
web 出力:
k3= テスト
k2= 456
k1= 123

概要

上記はこの記事の全内容です。この記事の内容が皆さんの学習や仕事に何らかの参考や学習価値があることを願っています。ご質問がある場合は、メッセージを残して連絡してください。ご協力ありがとうございます。

以上がurllibとurllib2を使ってhttp GET/POSTにアクセスするPython学習の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はwww.word666.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。