python實現(xiàn)發(fā)送form-data數(shù)據(jù)的方法詳解
本文實例講述了python實現(xiàn)發(fā)送form-data數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
源代碼
-----------------------------279361243530614
Content-Disposition: form-data; name="parent_dir"/
-----------------------------279361243530614
Content-Disposition: form-data; name="file"; filename="f5.txt"
Content-Type: text/plain
#NodeAddress import sys import pycontrol.pycontrol as pc import time import csv import ssl ssl._create_default_https_context = ssl._create_unverified_context b = pc.BIGIP( hostname = '10.4.170.160', username = 'xxxxx', password = 'xxx', fromurl = True, wsdls=['LocalLB.NodeAddress']) node = b.LocalLB.NodeAddress print node print dir(node) ipaddress='10.4.161.148' print dir(node) print node.get_session_enabled_state(node_addresses=[ipaddress]) print node.get_session_status(node_addresses=[ipaddress]) print node.get_monitor_status(node_addresses=[ipaddress]) print node.get_object_status(node_addresses=[ipaddress]) print node.set_monitor_state(node_addresses=[ipaddress],states=['STATE_FORCED_DISABLED']) print node.get_session_enabled_state(node_addresses=[ipaddress]) print node.get_session_status(node_addresses=[ipaddress]) print node.get_monitor_status(node_addresses=[ipaddress]) print node.get_object_status(node_addresses=[ipaddress]) print node.set_monitor_state(node_addresses=[ipaddress],states=['STATE_ENABLED']) print node.get_session_enabled_state(node_addresses=[ipaddress]) print node.get_session_status(node_addresses=[ipaddress]) print node.get_monitor_status(node_addresses=[ipaddress])
-----------------------------279361243530614--
# !/usr/bin/env python # -*- coding: utf-8 -*- import urllib2 import urllib import cookielib import json import httplib import re import requests import StringIO import time import sys import json import re import random from urllib import quote from requests_toolbelt import MultipartEncoder import time s = requests.session() username='015208@xxxxx.com' password='newja01' myurl='http://xxxx:8000/accounts/login?next=/' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0' } response = s.get(myurl, headers=headers,timeout=10) a= response.content #<form action="" method="post" class="con"><input type='hidden' name='csrfmiddlewaretoken' value='ZWnUDf5XVX0kagjIoJLKyU8UdO8KBGFn' /> #p=re.compile('.*?<token>(.*?)</token>*') p=re.compile('.*<form.*value=\'(.*?)\'.*\s+/>',flags=re.S) m=p.match(a) print m token= m.group(1) print token myurl='http://xxxx:8000/accounts/login/?next=/' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0' } data={'csrfmiddlewaretoken':token,'login':username,'password':password,'next':'/'} response = s.post(myurl, data=data, headers=headers,timeout=10) print response.content u1='http://xxxx:8000/api2/repos/?type=mine&_=1553493865054' a= s.get(u1).content print a print type(a) b=json.loads(a) print b print type(b) for i in range(len(b)): print str(b[i]).decode('unicode-escape') if b[i]['name'] == 'perl': uploadid= b[i]['id'] print uploadid ctime=time.time() ctime=int(ctime) u2='http://xxxx:8000/ajax/repo/%s/file_op_url/?op_type=upload&path=%s&_=%s' %(uploadid,'%2F',ctime) print u2 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0', 'X-Requested-With':'XMLHttpRequest' } response=s.get(u2,headers=headers) b= response.content print type(b) print b c=json.loads(b) d= c['url'] u3=d headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0', 'X-Requested-With':'XMLHttpRequest' } m=MultipartEncoder( fields={ "parent_dir":'/', "name":'file', "filename":'abc.txt', 'file':('abc.txt',open('abc.txt','rb'),'text/plain') } ) headers['Content-Type']=m.content_type response=s.post(u3,headers=headers,data=m,timeout=20) print response.content
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
解決pycharm不能自動補全第三方庫的函數(shù)和屬性問題
這篇文章主要介紹了解決pycharm不能自動補全第三方庫的函數(shù)和屬性問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03python 代碼實現(xiàn)k-means聚類分析的思路(不使用現(xiàn)成聚類庫)
這篇文章主要介紹了python 代碼實現(xiàn)k-means聚類分析(不使用現(xiàn)成聚類庫),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06解決django-xadmin列表頁filter關(guān)聯(lián)對象搜索問題
今天小編就為大家分享一篇解決django-xadmin列表頁filter關(guān)聯(lián)對象搜索問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python網(wǎng)絡(luò)編程之Socket和HTTP協(xié)議詳解
在當(dāng)今互聯(lián)網(wǎng)時代,網(wǎng)絡(luò)編程是程序員不可或缺的一項技能,本文將介紹Python中兩種主要的網(wǎng)絡(luò)編程方式:Socket編程和基于HTTP協(xié)議的網(wǎng)絡(luò)編程,希望對大家有所幫助2024-04-04