python实现发送form-data数据的方法详解


Posted in Python onSeptember 27, 2019

本文实例讲述了python实现发送form-data数据的方法。分享给大家供大家参考,具体如下:

源代码

-----------------------------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 = 'zjtlcb',
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@zjtlcb.com'
password='newja01'
myurl='http://10.4.48.2: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://10.4.48.2: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://10.4.48.2: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://10.4.48.2: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

 python实现发送form-data数据的方法详解

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python3.2中的字符串函数学习总结
Apr 23 Python
Python基于checksum计算文件是否相同的方法
Jul 09 Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 Python
Python wxPython库消息对话框MessageDialog用法示例
Sep 03 Python
Python 变量类型详解
Oct 10 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
Dec 14 Python
详解从Django Rest Framework响应中删除空字段
Jan 11 Python
python算法与数据结构之冒泡排序实例详解
Jun 22 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
Oct 23 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 Python
详解Python yaml模块
Sep 23 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 #Python
Pycharm 字体大小调整设置的方法实现
Sep 27 #Python
python3 写一个WAV音频文件播放器的代码
Sep 27 #Python
简单瞅瞅Python vars()内置函数的实现
Sep 27 #Python
Python 获取项目根路径的代码
Sep 27 #Python
Python Pandas对缺失值的处理方法
Sep 27 #Python
Python 可变类型和不可变类型及引用过程解析
Sep 27 #Python
You might like
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
php文件缓存方法总结
2016/03/16 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
js密码强度校验
2015/11/10 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
jQuery布局组件EasyUI Layout使用方法详解
2017/02/28 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
npm的lock机制解析
2019/06/20 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
统计每一学生的平均成绩
2014/06/06 面试题
UDP协议功能
2013/01/06 面试题
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
高中自我评价分享
2013/12/05 职场文书
关于爱情的广播稿
2014/01/16 职场文书
商务邀请函
2015/01/30 职场文书