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ìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
- python 實現(xiàn)format進(jìn)制轉(zhuǎn)換與刪除進(jìn)制前綴
- Python3+SQLAlchemy+Sqlite3實現(xiàn)ORM教程
- Python colormap庫的安裝和使用詳情
- Python ORM框架Peewee用法詳解
- python GUI庫圖形界面開發(fā)之PyQt5表單布局控件QFormLayout詳細(xì)使用方法與實例
- Python 格式化輸出_String Formatting_控制小數(shù)點位數(shù)的實例詳解
- 詳解Python中的format格式化函數(shù)的使用方法
- 如何使用Python實現(xiàn)一個簡易的ORM模型
相關(guān)文章
解決pycharm不能自動補(bǔ)全第三方庫的函數(shù)和屬性問題
這篇文章主要介紹了解決pycharm不能自動補(bǔ)全第三方庫的函數(shù)和屬性問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03python使用tqdm模塊處理文件閱讀進(jìn)度條顯示
這篇文章主要為大家介紹了python使用tqdm模塊處理文件閱讀顯示進(jìn)度條示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09python 代碼實現(xiàn)k-means聚類分析的思路(不使用現(xiàn)成聚類庫)
這篇文章主要介紹了python 代碼實現(xiàn)k-means聚類分析(不使用現(xiàn)成聚類庫),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(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