按POST请求发送二值图像

2024-10-02 14:20:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图执行post请求来上传一个img到https://pasteboard.co/,但是我总是得到一个500的响应,它告诉我,有一个丢失的文件。在

文件确实存在并且路径正确,我不知道问题出在哪里。在

import mechanicalsoup

browser = mechanicalsoup.StatefulBrowser()
browser.set_user_agent(
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36')

response = browser.open('https://pasteboard.co/')

payload = {"file": open('C:/Users/Oli/Google Drive/IMG_20190616_153432.jpg', 'rb').read()}
response = browser.post('https://pasteboard.co/upload', payload)

它不是以下内容的复本: Upload Image using POST form data in Python-requests

如果我尝试同样的代码:

^{pr2}$

我收到502坏网关错误。在


Tags: 文件httpsimport路径browserimgresponseopen
1条回答
网友
1楼 · 发布于 2024-10-02 14:20:20

我用requests模块制作的 请尝试以下代码:

import requests
import json

header = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}
img_file = open(r'C:/Users/Oli/Google Drive/IMG_20190616_153432.jpg', 'rb')
header['Content-Type'] = 'multipart/form-data'
files = {'file': ('Image.jpg', img_file, 'image/jpeg', {'Expires': '10'}) }
res = requests.post('https://pasteboard.co/upload', files=files)
uploaded_image_name = json.loads(res.content.decode('utf-8'))['fileName']
print(f'New Link: https://pasteboard.co/{uploaded_image_name}')

如果上载png,只需更改以下内容:

1.首先

^{pr2}$

2。图像的路径。在

看看这对你是否有用。在

相关问题 更多 >