python 发起HTTP请求
因為微信公眾號群發(fā)需要調(diào)用高級群發(fā)接口,其中涉及到python發(fā)起HTTP請求,現(xiàn)在將相關(guān)實現(xiàn)操作記錄如下:
首先,HTTP請求分為GET和POST,如下所示:
首先是發(fā)起get 請求:
# -*- coding: utf-8 -*- import httplib import urllib try:httpClient =httplib.HTTPConnection('127.0.0.1',5000,timeout=30)httpClient.request('GET','/data/get/')response=httpClient.getresponse()print response.statusprint response.reasonprint response.read() except Exception,e:print e finally:if httpClient:httpClient.close()發(fā)起Http請求的時候,首先需要建立httpClient對象,建立的時候需要指定服務器的ip地址,端口號,以及超時時間。
接下來正式發(fā)起HTTP 請求,需要指明獲取數(shù)據(jù)的相對地址以及調(diào)用的方法,在這里,我們的方法為GET.
最后,通過getresponse()方法可以獲取服務器返回的信息。
response.status 屬性對應連接的狀態(tài)
response.reason 屬性對應連接返回狀態(tài)造成的原因
response.read() 對應服務器返回的信息
接下來是發(fā)送post請求:
#-*- coding:utf8 -*- #coding=utf-8 #author : zhouyang import httplib,urllib httpClient =None try:params =urllib.urlencode({'name':'zhouyang','age':21})headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}httpClient=httplib.HTTPConnection('127.0.0.1',5000,30)httpClient.request("POST",'/test/',params,headers)response =httpClient.getresponse()print response.statusprint response.reasonprint response.read()print response.getheaders() except Exception ,e:print e finally:if httpClient:httpClient.close()發(fā)起POST請求的時候,基本的步驟是和GET類似的,只是需要設置請求頭的內(nèi)容,并且需要將需要傳輸?shù)臄?shù)據(jù)格式化之后再發(fā)送給服務器。數(shù)據(jù)格式化采用的是urlencode()方法,將dict轉(zhuǎn)換為格式化之后的字符串。
同時,在最后,我們輸出了服務器回應的頭內(nèi)容,即:
response.getheaders()
轉(zhuǎn)載于:https://www.cnblogs.com/zhoudayang/p/5261686.html
總結(jié)
以上是生活随笔為你收集整理的python 发起HTTP请求的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nhibernate代码生成器v2.1中
- 下一篇: 模拟BS服务器