最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python模擬瀏覽器上傳文件腳本的方法(Multipart/form-data格式)

 更新時間:2018年10月22日 09:29:06   作者:lykops  
今天小編就為大家分享一篇Python模擬瀏覽器上傳文件腳本的方法(Multipart/form-data格式),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

http協(xié)議本身的原始方法不支持multipart/form-data請求,這個請求由原始方法演變而來的。

multipart/form-data的基礎方法是post,也就是說是由post方法來組合實現(xiàn)的,與post方法的不同之處:請求頭,請求體。

multipart/form-data的請求頭必須包含一個特殊的頭信息:Content-Type,且其值也必須規(guī)定為multipart/form-data,同時還需要規(guī)定一個內(nèi)容分割符用于分割請求體中的多個post的內(nèi)容,如文件內(nèi)容和文本內(nèi)容自然需要分割開來,不然接收方就無法正常解析和還原這個文件了。

具體的頭信息如下:

Content-Type: multipart/form-data; boundary=${bound} 

實例:

import os, random, sys, requests
from requests_toolbelt.multipart.encoder import MultipartEncoder

url = 'http://127.0.0.1/sendmsg'
argvstr = sys.argv[1:]
argv_dict = {}
for argv in argvstr :
 argv = str(argv).replace("\r\n" , "")
 DICT = eval(argv)
 argv_dict.update(DICT)

headers = {
 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0',
 'Referer': url
 }

multipart_encoder = MultipartEncoder(
 fields={
  'username': argv_dict['username'],
  'pwd': argv_dict['pwd'],
  'type': 'txt',
  'friendfield': argv_dict['friendfield'],
  'friend': argv_dict['friend'],
  'content': argv_dict['content'],
  'file': (os.path.basename(argv_dict['file']) , open(argv_dict['file'], 'rb'), 'application/octet-stream')
  #file為路徑
  },
  boundary='-----------------------------' + str(random.randint(1e28, 1e29 - 1))
 )

headers['Content-Type'] = multipart_encoder.content_type
#請求頭必須包含一個特殊的頭信息,類似于Content-Type: multipart/form-data; boundary=${bound}

r = requests.post(url, data=multipart_encoder, headers=headers)
print(r.text)
#注意,不要設置cookies等其他參數(shù),否則會報錯

# 例子/usr/local/python36/bin/python3 /opt/lykchat/test_upload.py "{'username':'lykchat','pwd':'123456','type':'img','friendfield':'1','friend':'xxxx','content':'恭喜發(fā)財','file':'/root/b.jpg'}"
#等同于curl -F "file=@/root/a" 'http://127.0.0.1/sendmsg?username=lykchat&pwd=123456&type=img&friendfield=1&friend=xxxx&content=恭喜發(fā)財'

以上這篇Python模擬瀏覽器上傳文件腳本的方法(Multipart/form-data格式)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • django xadmin action兼容自定義model權限教程

    django xadmin action兼容自定義model權限教程

    這篇文章主要介紹了django xadmin action兼容自定義model權限教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • numpy中l(wèi)oadtxt 的用法詳解

    numpy中l(wèi)oadtxt 的用法詳解

    這篇文章主要介紹了numpy中l(wèi)oadtxt 的用法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 簡單了解python 生成器 列表推導式 生成器表達式

    簡單了解python 生成器 列表推導式 生成器表達式

    這篇文章主要介紹了簡單了解python 生成器 列表推導式 生成器表達式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python?hashlib模塊與subprocess模塊使用詳細介紹

    Python?hashlib模塊與subprocess模塊使用詳細介紹

    這篇文章主要介紹了Python?hashlib模塊與subprocess模塊使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-10-10
  • Python上下文管理器和with塊詳解

    Python上下文管理器和with塊詳解

    這篇文章主要為大家詳細介紹了Python上下文管理器和with塊的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Python中的JMESPath庫示例詳解

    Python中的JMESPath庫示例詳解

    這篇文章主要介紹了Python中的JMESPath庫示例詳解,JMESPath的基本思想是使用類似于XPath的路徑表達式來指定要從JSON結構中提取哪些數(shù)據(jù),它允許您以一致的方式導航和過濾JSON對象和數(shù)組,需要的朋友可以參考下
    2023-09-09
  • Python pip 常用命令匯總

    Python pip 常用命令匯總

    這篇文章主要介紹了Python pip 常用命令匯總,幫助大家更好的理解和使用pip命令,感興趣的朋友可以了解下
    2020-10-10
  • python實現(xiàn)感知器算法(批處理)

    python實現(xiàn)感知器算法(批處理)

    這篇文章主要為大家詳細介紹了python實現(xiàn)感知器算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • numpy ndarray 取出滿足特定條件的某些行實例

    numpy ndarray 取出滿足特定條件的某些行實例

    今天小編就為大家分享一篇numpy ndarray 取出滿足特定條件的某些行實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python數(shù)組轉換為矩陣的方法實現(xiàn)

    python數(shù)組轉換為矩陣的方法實現(xiàn)

    本文主要介紹了python數(shù)組轉換為矩陣的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07

最新評論

左权县| 仙居县| 拉孜县| 邯郸市| 福安市| 黄石市| 常德市| 从化市| 大悟县| 凌海市| 玉门市| 四川省| 安宁市| 平邑县| 延安市| 余干县| 内乡县| 澳门| 安吉县| 武邑县| 安新县| 奉化市| 北票市| 甘德县| 依安县| 保德县| 民乐县| 察雅县| 泗水县| 肇东市| 博客| 班戈县| 囊谦县| 隆昌县| 托克托县| 中山市| 无为县| 邵武市| 安塞县| 惠安县| 肥东县|