如何使用curl将图像上载到imgur.com中的帐户?

如何使用curl将图像上载到imgur.com中的帐户?,curl,imgur,Curl,Imgur,就这样 curl:用于处理URL的命令行工具 imgur.com:一种允许上传和共享图片的服务,可帮助您找到答案 # curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -F "image=@PATH_TO_YOUR_IMAGE_FILE" https://api.imgur.com/3/upload 范例 # curl -X POST -H "Authorization: Bea

就这样

curl:用于处理URL的命令行工具


imgur.com:一种允许上传和共享图片的服务,可帮助您找到答案

# curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -F "image=@PATH_TO_YOUR_IMAGE_FILE" https://api.imgur.com/3/upload
范例

# curl -X POST -H "Authorization: Bearer 9c9d....9b41f" -F "image=@/tmp/pet.png" https://api.imgur.com/3/upload
您将得到如下的JSON响应

{"status":200,"success":true,"data":{"id":"m1Jv","deletehash":"zMI6VN","account_id":2583,"account_url":"ruxr","ad_type":null,"ad_url":null,"title":null,"description":null,"name":"","type":"image/png","width":169,"height":120,"size":3371,"views":0,"section":null,"vote":null,"bandwidth":0,"animated":false,"favorite":false,"in_gallery":false,"in_most_viral":false,"has_sound":false,"is_ad":false,"nsfw":null,"link":"https://i.imgur.com/m1v.png","tags":[],"datetime":16756,"mp4":"","hls":""}}
而且

"link":"https://i.imgur.com/m1v.png"
你得到了答案(这个链接不起作用,只是一个例子)

使用
jq

# echo "$response_json" | jq  --raw-output '.data.link'

一些背景。

有很多人在问这个问题

我反复检查API文档,没有找到答案

# curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -F "image=@PATH_TO_YOUR_IMAGE_FILE" https://api.imgur.com/3/upload
我使用imgur_uploader.py有一段时间了,但现在由于速率限制(或者可能是我的令牌过期了),它开始失败,而事实并非如此,因为我每x分钟只上传一个图像。其他人也面临着类似的问题

File "/home/me/.local/lib/python3.5/site-packages/imgurpython/client.py", line 596, in upload_from_path
    return self.make_request('POST', 'upload', data, anon)
File "/home/me/.local/lib/python3.5/site-packages/imgurpython/client.py", line 153, in make_request
    raise ImgurClientRateLimitError()
imgurpython.helpers.error.ImgurClientRateLimitError: Rate-limit exceeded!
经过一番挖掘,我让python脚本再次工作,但图片没有上传到我的帐户中。于是我又开始搜索

我找到了答案

要获取访问令牌,请使用[B],然后检查生成的url

[A]


[B] 直奔答案

# curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -F "image=@PATH_TO_YOUR_IMAGE_FILE" https://api.imgur.com/3/upload
范例

# curl -X POST -H "Authorization: Bearer 9c9d....9b41f" -F "image=@/tmp/pet.png" https://api.imgur.com/3/upload
您将得到如下的JSON响应

{"status":200,"success":true,"data":{"id":"m1Jv","deletehash":"zMI6VN","account_id":2583,"account_url":"ruxr","ad_type":null,"ad_url":null,"title":null,"description":null,"name":"","type":"image/png","width":169,"height":120,"size":3371,"views":0,"section":null,"vote":null,"bandwidth":0,"animated":false,"favorite":false,"in_gallery":false,"in_most_viral":false,"has_sound":false,"is_ad":false,"nsfw":null,"link":"https://i.imgur.com/m1v.png","tags":[],"datetime":16756,"mp4":"","hls":""}}
而且

"link":"https://i.imgur.com/m1v.png"
你得到了答案(这个链接不起作用,只是一个例子)

使用
jq

# echo "$response_json" | jq  --raw-output '.data.link'

一些背景。

有很多人在问这个问题

我反复检查API文档,没有找到答案

# curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -F "image=@PATH_TO_YOUR_IMAGE_FILE" https://api.imgur.com/3/upload
我使用imgur_uploader.py有一段时间了,但现在由于速率限制(或者可能是我的令牌过期了),它开始失败,而事实并非如此,因为我每x分钟只上传一个图像。其他人也面临着类似的问题

File "/home/me/.local/lib/python3.5/site-packages/imgurpython/client.py", line 596, in upload_from_path
    return self.make_request('POST', 'upload', data, anon)
File "/home/me/.local/lib/python3.5/site-packages/imgurpython/client.py", line 153, in make_request
    raise ImgurClientRateLimitError()
imgurpython.helpers.error.ImgurClientRateLimitError: Rate-limit exceeded!
经过一番挖掘,我让python脚本再次工作,但图片没有上传到我的帐户中。于是我又开始搜索

我找到了答案

要获取访问令牌,请使用[B],然后检查生成的url

[A]


[B]

大量的研究。谢谢大家,祝你们好运。这是一项伟大的研究。谢谢大家,祝大家好运。