推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
gyh
V2EX  ›  Python

使用 requests 提交 multipart form data 时怎么插入一个值为字串的 field

  •  
  •   gyh · Sep 9, 2017 · 2883 views
    This topic created in 3192 days ago, the information mentioned may be changed or developed.

    抓包到的请求是这样的:

    -----------------------------13151347596532282191711782459
    Content-Disposition: form-data; name="fid"
    
    1
    -----------------------------13151347596532282191711782459
    Content-Disposition: form-data; name="moduleid"
    
    5
    -----------------------------13151347596532282191711782459
    Content-Disposition: form-data; name="from"
    
    album
    -----------------------------13151347596532282191711782459
    Content-Disposition: form-data; name="old"
    
    
    -----------------------------13151347596532282191711782459
    Content-Disposition: form-data; name="isremote"
    
    0
    -----------------------------13151347596532282191711782459
    Content-Disposition: form-data; name="remote"
    
    http://
    -----------------------------13151347596532282191711782459
    Content-Disposition: form-data; name="upalbum"; filename="\B0·Ұͺ\D5ͼ.png"
    Content-Type: image/png
    

    python 代码:

    import requests
    multipart_form_data = {
        'upalbum': ('111.png', open('1.png', 'rb'), 'image/png'),
        'fid': ('', ''),
        'muduleid': ('', '5'),
        'from': ('', 'album'),
        'old': ('', ''),
        'isremote': ('', '0'),
        'remote': ('', 'http://')
    }
    requests.post('http://127.0.0.1:8888', files=multipart_form_data)
    

    然后在 fiddle 中看到模拟的请求少了几个 field:

    --9b67b0c1b58b473d86ca619bac4bdd0d
    Content-Disposition: form-data; name="from"; filename=""
    
    album
    --9b67b0c1b58b473d86ca619bac4bdd0d
    Content-Disposition: form-data; name="fid"; filename=""
    
    
    --9b67b0c1b58b473d86ca619bac4bdd0d
    Content-Disposition: form-data; name="upalbum"; filename="111.png"
    Content-Type: image/png
    
    2 replies    2017-09-10 14:13:48 +08:00
    vZexc0m
        1
    vZexc0m  
       Sep 10, 2017   ❤️ 1
    其余字段放在放在 data 里面
    gyh
        2
    gyh  
    OP
       Sep 10, 2017
    @vZexc0m #1 解决了,谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2855 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:48 · PVG 15:48 · LAX 00:48 · JFK 03:48
    ♥ Do have faith in what you're doing.