国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python利用urllib和urllib2訪問http的GET/POST詳解

2020-02-16 10:18:05
字體:
供稿:網(wǎng)友

前言

本文主要給大家介紹了關(guān)于python如何訪問http的GET/POST的相關(guān)內(nèi)容,使用urllib和urllib2,可以輕松實現(xiàn)對http的訪問,下面話不多說了,來一起看看詳細的介紹吧。

示例詳解

以下給個例子,實現(xiàn)對http://127.0.0.1/cgi/test的GET與POST

使用的是平常意義上的query string

POST接受json

其中,

urllib2的Request方法如果只帶一個參數(shù)是GET方法,但如果帶兩個參數(shù),則為http的POST方法,第二個參數(shù)為POST的內(nèi)容。

#!/usr/bin/env python import urllibimport urllib2import json url_base = "http://127.0.0.1/cgi/test" #GETtry: 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 #posttry: 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應(yīng)該都是系統(tǒng)自帶

#!/bin/bashecho -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/"http://g;p'else  echo ${QUERY_STRING} | awk 'BEGIN{RS="&"}1'fi

隨便用什么webserver都可以,只要支持CGI,我這里用是一個很輕量的webserver——boa,它可能不適合大型應(yīng)用網(wǎng)站,但嵌入式里用CGI提供API還是很有用的,部署非常容易。

搭建之后,測試一下

$ ./test.pyGET http://127.0.0.1/v1/lic/test?test=yes&name=colinweb output:test=yesname=colinPOST http://127.0.0.1/v1/lic/testPOST input:{"k3": "test", "k2": "456", "k1": 123}web output: k3= test k2= 456 k1= 123

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對武林站長站的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平昌县| 饶平县| 杭锦旗| 黄平县| 富宁县| 玛纳斯县| 滨海县| 若羌县| 手游| 舒兰市| 高唐县| 建阳市| 孝感市| 钦州市| 宁远县| 浮梁县| 西丰县| 松桃| 余干县| 郓城县| 余庆县| 罗甸县| 大同市| 淮南市| 临桂县| 白银市| 汾西县| 繁峙县| 晋中市| 石屏县| 肥东县| 邵武市| 九龙坡区| 明溪县| 洛浦县| 隆尧县| 桐乡市| 于都县| 于都县| 台中县| 饶河县|