python 发起HTTP请求
生活随笔
收集整理的這篇文章主要介紹了
python 发起HTTP请求
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
因為微信公眾號群發需要調用高級群發接口,其中涉及到python發起HTTP請求,現在將相關實現操作記錄如下:
首先,HTTP請求分為GET和POST,如下所示:
首先是發起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()發起Http請求的時候,首先需要建立httpClient對象,建立的時候需要指定服務器的ip地址,端口號,以及超時時間。
接下來正式發起HTTP 請求,需要指明獲取數據的相對地址以及調用的方法,在這里,我們的方法為GET.
最后,通過getresponse()方法可以獲取服務器返回的信息。
response.status 屬性對應連接的狀態
response.reason 屬性對應連接返回狀態造成的原因
response.read() 對應服務器返回的信息
接下來是發送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()發起POST請求的時候,基本的步驟是和GET類似的,只是需要設置請求頭的內容,并且需要將需要傳輸的數據格式化之后再發送給服務器。數據格式化采用的是urlencode()方法,將dict轉換為格式化之后的字符串。
同時,在最后,我們輸出了服務器回應的頭內容,即:
response.getheaders()
轉載于:https://www.cnblogs.com/zhoudayang/p/5261686.html
總結
以上是生活随笔為你收集整理的python 发起HTTP请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nhibernate代码生成器v2.1中
- 下一篇: python代码格式