• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 學習電腦 > 電腦安全 > 局域網安全 > 局域網Python中使用POST方式上傳文件

    局域網Python中使用POST方式上傳文件

    時間: 林澤1002 分享

    局域網Python中使用POST方式上傳文件

      如果只是要模擬提交一個不包含文件字段的表單,實現起來是很簡單的,但涉及到文件上傳就有一點小復雜,需要自己對文件進行編碼,或者使用第三方模塊。下面是學習啦小編收集整理的局域網Python中使用POST方式上傳文件,希望對大家有幫助~~

      局域網Python中使用POST方式上傳文件

      方法/步驟

      如果機器上有 PycURL,那么可以使用 PycURL 來上傳文件。

      不過,由于 PycURL 需要用到 curl,在 Windows 下安裝可能會有點麻煩,除 PycURL 外,也有一些其它實現 POST 文件上傳的方式,比如 這兒 的 2 樓有人貼出了一個將文件進行編碼之后再 POST 的方法,另外還有MultipartPostHandler、urllib2_file、poster 等第三方模塊。但 MultipartPostHandler 這個模塊似乎比較老了,urllib2_file 我試用了一下遇到錯誤沒有成功,這兒我想介紹的是另外一個第三方模塊 poster。

      如果機器上安裝了 Python 的 setuptools,可以通過下面的命令來安裝 poster:

      easy_install poster

      # test_client.pyfrom poster.encode import multipart_encodefrom poster.streaminghttp import register_openersimport urllib2# 在 urllib2 上注冊 http 流處理句柄register_openers()# 開始對文件 "DSC0001.jpg" 的 multiart/form-data 編碼# "image1" 是參數的名字,一般通過 HTML 中的 標簽的 name 參數設置# headers 包含必須的 Content-Type 和 Content-Length# datagen 是一個生成器對象,返回編碼過后的參數datagen, headers = multipart_encode({"image1": open("DSC0001.jpg", "rb")})# 創建請求對象request = urllib2.Request("http://localhost:5000/upload_image", datagen, headers)# 實際執行請求并取得返回print urllib2.urlopen(request).read()

      5很簡單,文件就上傳完成了。

      其中那個 register_openers() 相當于以下操作:

      from poster.encode import multipart_encodefrom poster.streaminghttp import StreamingHTTPHandler, StreamingHTTPRedirectHandler, StreamingHTTPSHandlerhandlers = [StreamingHTTPHandler, StreamingHTTPRedirectHandler, StreamingHTTPSHandler]opener = urllib2.build_opener(*handlers)urllib2.install_opener(opener)

      6另外,poster 也可以攜帶 cookie,比如:

      opener = poster.streaminghttp.register_openers()opener.add_handler(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))params = {'file': open("test.txt", "rb"), 'name': 'upload test'}datagen, headers = poster.encode.multipart_encode(params)request = urllib2.Request(upload_url, datagen, headers)result = urllib2.urlopen(request)

    局域網python相關文章:

    1.局域網python快速上手

    2.怎么搭建局域網YUM服務器

    3.局域網怎么搭建YUM服務器

    4.網絡管理員無工作經驗簡歷怎么寫

    5.遠程操作Mysql數據庫

    2900224 主站蜘蛛池模板: 美女被羞羞吸乳动漫视频| 思思久久99热只有频精品66 | 国产乱码精品一区二区三区四川 | 97人人模人人爽人人少妇| 亚洲精品免费在线| 国产欧美一区二区三区在线看| 日本三级欧美三级人妇英文| 男女做爽爽视频免费观看| 4408私人影院| 久久亚洲色www成人欧美| 人妻仑乱A级毛片免费看| 国产熟睡乱子伦视频| 成在线人免费无码高潮喷水| 毛片大全免费观看| 蜜桃成熟时2005| eeuss影院在线观看| 久久精品久久久| 免费a级毛片大学生免费观看| 国产特级毛片aaaaaa毛片| 成人精品视频一区二区三区尤物 | 精品国产精品国产| 精品丝袜国产自在线拍亚洲| 丁香六月婷婷综合| 亚洲另类专区欧美制服| 免费精品国产自产拍观看| 国产特级毛片AAAAAA视频| 成年人视频免费在线观看| 正在播放国产一区| 老鸭窝在线免费视频| 18禁免费无码无遮挡不卡网站| 中日韩国语视频在线观看| 亚洲欧美国产va在线播放| 国产99久久九九精品无码| 国产精品无码无卡在线播放| 完全免费在线视频| 无码专区人妻系列日韩精品| 机机对机机120分免费无遮挡| 特级做a爰片毛片免费看无码| 美女的尿口免费看软件| aisaobi| 中国娇小与黑人巨大交|