python封裝的GET&POST請求

jopen 9年前發布 | 2K 次閱讀 Python

    #coding=utf-8
import os
import urllib
import httplib
import requests
import json

def get_page_content(baseUrl, path, params, headers, type = 'get'):  
    try:  
        httpClient = httplib.HTTPConnection(baseUrl, 80, timeout=30)  
        if type == 'get':  
            httpClient.request('GET', path)  
            response = httpClient.getresponse()  
            print response.status  
            print response.reason  
            print response.read()  
        elif type == 'post':  
            params = urllib.urlencode(params)  
            httpClient.request("POST", path, params, headers)  
            response = httpClient.getresponse()  
            print response.status  
            print response.reason  
            print response.read()  
            print response.getheaders() #獲取頭信息  
        else:  
            print 'unsupport'  
    except Exception, e:  
        print Exception, e  


def get_page_content_by_requests(url, payload, timeout, headers, type = 'get'):    
    try:  
        if type == 'get':  
            response = requests.get(url, params=payload, timeout=timeout)  
            response.encoding = 'gbk' #設定編碼  
            print response.status_code  #返回狀態  
            print response.text #返回字符結果  
            print response.content #返回二進制響應內容  
            print response.json() #獲取Json響應內容  
            print response.raw #獲取原始響應內容  
            print response.raise_for_status() #非200請況下拋出異常  
            print response.headers['Content-Type'] #獲取響應頭某個字段  
        elif type == 'post':  
            response = requests.post(url, data = json.dumps(payload), headers = headers, timeout=timeout)  
            response.encoding = 'gbk' #設定編碼  
            print response.text  
        else:  
            print 'unsupport'  
    except Exception, e:  
        print Exception, e  </pre> 


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!