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 相关文章推荐
浅析python中的分片与截断序列
Aug 09 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
Python开发之pip安装及使用方法详解
Feb 21 Python
Python itertools.product方法代码实例
Mar 27 Python
Python直接赋值及深浅拷贝原理详解
Sep 05 Python
Pycharm新手使用教程(图文详解)
Sep 17 Python
Python使用for生成列表实现过程解析
Sep 22 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
浅谈PHP强制类型转换,慎用!
2013/06/06 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
PHP连接MySQL的2种方法小结以及防止乱码
2014/03/11 PHP
php 魔术方法详解
2014/11/11 PHP
uploadify 3.0 详细使用说明
2012/06/18 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
vue计算属性及使用详解
2018/04/02 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
python动态监控日志内容的示例
2014/02/16 Python
python中常用检测字符串相关函数汇总
2015/04/15 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
Python 如何测试文件是否存在
2020/07/31 Python
Python中return函数返回值实例用法
2020/11/19 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
nohup的用法
2012/11/26 面试题
造型师求职自荐信
2013/09/27 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书