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)文章
Pandas||過濾缺失數(shù)據(jù)||pd.dropna()函數(shù)的用法說明
這篇文章主要介紹了Pandas||過濾缺失數(shù)據(jù)||pd.dropna()函數(shù)的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05
人臉檢測實戰(zhàn)終極之OpenCV+Python實現(xiàn)人臉對齊
這篇文章主要是為了演示如何使用 OpenCV、Python 和面部標(biāo)志從而實現(xiàn)對齊人臉。文中示例代碼對我們的工作或?qū)W習(xí)有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下2021-12-12
python3+selenium實現(xiàn)qq郵箱登陸并發(fā)送郵件功能
這篇文章主要為大家詳細(xì)介紹了python3+selenium實現(xiàn)qq郵箱登陸,并發(fā)送郵件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01
使用Python的Bottle框架寫一個簡單的服務(wù)接口的示例
這篇文章主要介紹了使用Python的Bottle框架寫一個簡單的服務(wù)接口的示例,基于Linux系統(tǒng)環(huán)境,需要的朋友可以參考下2015-08-08

