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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
Python实现将xml导入至excel
Nov 20 Python
使用python实现链表操作
Jan 26 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
解决python3运行selenium下HTMLTestRunner报错的问题
Dec 27 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 Python
Python实现对adb命令封装
Mar 06 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
Apr 13 Python
django的403/404/500错误自定义页面的配置方式
May 21 Python
pycharm全局搜索的具体步骤
Jul 28 Python
Python 通过正则表达式快速获取电影的下载地址
Aug 17 Python
python 调用js的四种方式
Apr 11 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实现的简单压缩英文字符串的代码
2008/04/24 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
理解JS绑定事件
2016/01/19 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
Python易忽视知识点小结
2015/05/25 Python
Python中的super用法详解
2015/05/28 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
Python实现线程状态监测简单示例
2018/03/28 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
函授本科自我鉴定
2014/02/04 职场文书
开展创先争优活动总结
2014/08/28 职场文书
2014年班组工作总结
2014/11/20 职场文书
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL