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  __getattr__与__setattr__使用方法
Sep 06 Python
Python2.5/2.6实用教程 入门基础篇
Nov 29 Python
Python端口扫描简单程序
Nov 10 Python
python urllib urlopen()对象方法/代理的补充说明
Jun 29 Python
Python 运行.py文件和交互式运行代码的区别详解
Jul 02 Python
Python中函数的返回值示例浅析
Aug 28 Python
Django1.11自带分页器paginator的使用方法
Oct 31 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
用 python 进行微信好友信息分析
Nov 28 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
pycharm 如何取消连按两下shift出现的全局搜索
Jan 15 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下将XML转换为数组
2010/01/01 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
python框架django基础指南
2016/09/08 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
python suds访问webservice服务实现
2020/06/26 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
党员廉洁自律承诺书
2014/05/26 职场文书
设计专业自荐信
2014/06/19 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
python实现简单的井字棋
2021/05/26 Python
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python