溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python之簡(jiǎn)單的get和post請(qǐng)求

發(fā)布時(shí)間:2020-07-18 18:12:21 來(lái)源:網(wǎng)絡(luò) 閱讀:223 作者:Python熱愛(ài)者 欄目:編程語(yǔ)言

1.json 模塊提供了一種很簡(jiǎn)單的方式來(lái)編碼和解碼JSON數(shù)據(jù)。 其中兩個(gè)主要的函數(shù)是 json.dumps()json.loads() , 要比其他序列化函數(shù)庫(kù)如pickle的接口少得多。 下面演示如何將一個(gè)Python數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為JSON:

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
import json

data = {
    'name' : 'ACME',
    'shares' : 100,
    'price' : 542.23
}

json_str = json.dumps(data)

下面演示如何將一個(gè)JSON編碼的字符串轉(zhuǎn)換回一個(gè)Python數(shù)據(jù)結(jié)構(gòu):

data = json.loads(json_str)

2.簡(jiǎn)單的get和post請(qǐng)求,使用import requests

import requests

response = requests.get('http://httpbin.org/get')
print(response.text)
'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
#通過(guò)在發(fā)送post請(qǐng)求時(shí)添加一個(gè)data參數(shù),這個(gè)data參數(shù)可以通過(guò)字典構(gòu)造成
import requests

data = {
    "name":"zhaofan",
    "age":23
}
response = requests.post("http://httpbin.org/post",data=data)
print(response.text)

3.GET方法,并且自定義header

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
# -* - coding: UTF-8 -* - 
import urllib2

request = urllib2.Request("http://www.baidu.com/")
request.add_header('content-TYPE', 'application/x-www-form-urlencoded')
response = urllib2.urlopen(request)
print response.getcode()
print response.geturl()
print response.read()

POST方法,并且自定義header

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
# -* - coding: UTF-8 -* - 
import urllib2
import urllib

request = urllib2.Request("http://passport.cnblogs.com/login.aspx")
request.add_header('content-TYPE', 'application/x-www-form-urlencoded')
data={"tbUserName":"test_username", "tbPassword":"test_password"}

response = urllib2.urlopen(request, urllib.urlencode(data))
print response.getcode()
print response.geturl()
print response.read() 

4.實(shí)際測(cè)試腳本編寫(xiě)

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
# coding:utf-8
import json
import urllib2
import requests

class AddScores:
    def __init__(self):
        pass

    def getToken(self):  # 獲取token值
        url1 = 'xxxxx'#url
        r1 = requests.get(url1)
        self.tokenObj = json.loads(r1.text)#解碼JSON數(shù)據(jù)

        if self.tokenObj["result"] == "success":
            print self.tokenObj["token"]
        else:
            print "failed"
        return self.tokenObj["token"]

    def personMess(self):  # 獲取個(gè)人信息
        url2 = 'xxx' + self.getToken()
        r2 = requests.post(url2)
        print r2.text

    def addSco(self,resId):  # 添加分?jǐn)?shù)
        data = {
            "memberId": "xxx",
            "orgCode": "xxx",
            "resourceId": resId,#傳參,傳resourceId
            "configName": "wsp", "resourceType": "wsp"
        }

        print "添加分?jǐn)?shù)的請(qǐng)求參數(shù):"
        print json.dumps(data)#編碼JSON

        headers = {'Content-Type': 'application/json'}
        url3 = 'xxx' + self.getToken()
        re3 = urllib2.Request(url=url3, headers=headers, data=json.dumps(data))
        response = urllib2.urlopen(re3)
        print response.read()

5.讀寫(xiě)TXT文件

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
#coding:utf-8
import time

from Demo2.token import AddScores

class ResId:
    def getResId(self):
        file=open('xxxx')
        # a=file.read()
        # print a
        lId= file.readline()
        lId=lId.strip(',\n')

        while lId != '':#逐行讀取數(shù)據(jù)
            print lId
            addScores = AddScores()
            addScores.getToken()
            addScores.personMess()
            addScores.addSco(lId)

            time.sleep(68)

            lId = file.readline()
            print "============================="

ResId().getResId()
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI