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利用Guetzli批量压缩图片
Mar 23 Python
Python subprocess模块详细解读
Jan 29 Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 Python
一文了解Python并发编程的工程实现方法
May 31 Python
使用python写的opencv实时监测和解析二维码和条形码
Aug 14 Python
Python使用python-docx读写word文档
Aug 26 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 Python
python输出国际象棋棋盘的实例分享
Nov 26 Python
解决python3输入的坑——input()
Dec 05 Python
python爬虫scrapy基本使用超详细教程
Feb 20 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
Jun 25 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的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
php文件操作相关类实例
2015/06/18 PHP
为你总结一些php信息函数
2015/10/21 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
Python常用模块介绍
2014/11/21 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
python多线程分块读取文件
2019/08/29 Python
tensorflow实现测试时读取任意指定的check point的网络参数
2020/01/21 Python
Python爬虫与反爬虫大战
2020/07/30 Python
使用django自带的user做外键的方法
2020/11/30 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
普天C++笔试题
2016/03/20 面试题
行政文员岗位职责
2015/02/04 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书
三严三实·严以用权心得体会
2016/01/12 职场文书
Go标准容器之Ring的使用说明
2021/05/05 Golang
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA