国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 寿阳县| 道真| 宝山区| 湾仔区| 那坡县| 成都市| 收藏| 读书| 滦南县| 潼南县| 泰安市| 左权县| 建水县| 罗定市| 当雄县| 饶河县| 习水县| 南丹县| 乐安县| 洛阳市| 界首市| 丹棱县| 五河县| 昭通市| 中方县| 金华市| 阳原县| 肇州县| 广东省| 承德县| 洪泽县| 郎溪县| 天镇县| 邻水| 潞西市| 县级市| 鲜城| 五莲县| 米林县| 绍兴县| 丘北县|