最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python利用urllib和urllib2訪問(wèn)http的GET/POST詳解

 更新時(shí)間:2017年09月27日 10:41:19   作者:窗戶(hù)  
urllib模塊提供的上層接口,使我們可以像讀取本地文件一樣讀取www和ftp上的數(shù)據(jù)。下面這篇文章主要給大家介紹了關(guān)于python如何利用urllib和urllib2訪問(wèn)http的GET/POST的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

前言

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

示例詳解

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

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

POST接受json

其中,

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

#!/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編寫(xiě),如下所示,其中jq是處理json的命令,需要下載一下,bash/sed/awk應(yīng)該都是系統(tǒng)自帶

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

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

搭建之后,測(cè)試一下

$ ./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

總結(jié)

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

相關(guān)文章

  • 如何用python實(shí)現(xiàn)一個(gè)HTTP連接池

    如何用python實(shí)現(xiàn)一個(gè)HTTP連接池

    這篇文章主要介紹了如何用python實(shí)現(xiàn)一個(gè)HTTP連接池的步驟,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • 如何讓PyQt5中QWebEngineView與JavaScript交互

    如何讓PyQt5中QWebEngineView與JavaScript交互

    這篇文章主要介紹了如何讓PyQt5中QWebEngineView與JavaScript交互,幫助大家更好的理解和學(xué)習(xí)PyQt5框架,感興趣的朋友可以了解下
    2020-10-10
  • Python求算數(shù)平方根和約數(shù)的方法匯總

    Python求算數(shù)平方根和約數(shù)的方法匯總

    這篇文章主要介紹了 Python求算數(shù)平方根和約數(shù)的方法匯總的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Django auth 應(yīng)用模塊詳解

    Django auth 應(yīng)用模塊詳解

    這篇文章主要介紹了Django auth 應(yīng)用模塊,auth 模塊幫助開(kāi)發(fā)人員提高了工作效率,因?yàn)槊總€(gè) Web 站點(diǎn)的權(quán)限管理模塊或者用戶(hù)管理模塊基本都是相同的邏輯,Django 的 auth 模塊使開(kāi)發(fā)者們不必在為一些重復(fù)性的邏輯進(jìn)行構(gòu)建,需要的朋友可以參考下
    2022-11-11
  • 用Python實(shí)現(xiàn)流星雨效果的方法詳解

    用Python實(shí)現(xiàn)流星雨效果的方法詳解

    這篇文章主要為大家介紹了Python實(shí)現(xiàn)流星雨效果的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助<BR>
    2021-12-12
  • Python爬蟲(chóng)如何破解JS加密的Cookie

    Python爬蟲(chóng)如何破解JS加密的Cookie

    這篇文章主要介紹了Python爬蟲(chóng)如何破解JS加密的Cookie,幫助大家更好的理解和使用爬蟲(chóng),感興趣的朋友可以了解下
    2020-11-11
  • 初學(xué)Python實(shí)用技巧兩則

    初學(xué)Python實(shí)用技巧兩則

    這篇文章主要介紹了初學(xué)Python實(shí)用技巧兩則,包括可變參數(shù)的應(yīng)用級(jí)execfile函數(shù)的用法,需要的朋友可以參考下
    2014-08-08
  • Python結(jié)合PyWebView庫(kù)打造跨平臺(tái)桌面應(yīng)用

    Python結(jié)合PyWebView庫(kù)打造跨平臺(tái)桌面應(yīng)用

    隨著Web技術(shù)的發(fā)展,將HTML/CSS/JavaScript與Python結(jié)合構(gòu)建桌面應(yīng)用成為可能,本文將系統(tǒng)講解如何使用PyWebView庫(kù)實(shí)現(xiàn)這一創(chuàng)新方案,希望對(duì)大家有一定的幫助
    2025-04-04
  • Python解惑之True和False詳解

    Python解惑之True和False詳解

    這篇文章主要給大家介紹了關(guān)于Python中常用的數(shù)據(jù)類(lèi)型bool(布爾)類(lèi)型的兩個(gè)值:True和False的相關(guān)資料,通過(guò)示例代碼給大家進(jìn)行了解惑,讓對(duì)這兩個(gè)值有所疑惑的朋友們能有起到一定的幫助,需要的朋友下面來(lái)一起看看吧。
    2017-04-04
  • Python 文件重命名工具代碼

    Python 文件重命名工具代碼

    Python 文件重命名工具實(shí)現(xiàn)代碼。
    2009-07-07

最新評(píng)論

东阳市| 肥西县| 甘谷县| 集贤县| 黄大仙区| 承德市| 舟山市| 融水| 杭州市| 钟山县| 郑州市| 永康市| 平乡县| 绵阳市| 乐陵市| 乐亭县| 永宁县| 子长县| 攀枝花市| 鄯善县| 固安县| 德格县| 吉安县| 容城县| 雅江县| 北票市| 赫章县| 碌曲县| 婺源县| 财经| 平潭县| 南投县| 尉氏县| 丰原市| 中牟县| 岳普湖县| 施甸县| 景宁| 绍兴市| 珠海市| 德令哈市|