- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在设置一个图像编码器函数,您可以在其中输入一个图像 URL,它会返回它的 ISO-8859-1 版本。我将如何编写一个向 URL 发送 HTTP GET 请求并将这些字节转换为 ISO-8859-1 的函数?下面的代码是我目前所有的代码。
func grabImageBytes(imageURL string) ([]byte, error) {
req, _ := http.NewRequest("GET", imageURL, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
return nil, err
} else {
return body, nil
}
}
其他功能:
func getRandomImage(keyword string) (string, error) {
req, _ := http.NewRequest("GET", "https://www.google.com/search?tbm=isch&q="+keyword, nil)
req.Header.Add("authority", "www.google.com")
req.Header.Add("upgrade-insecure-requests", "1")
req.Header.Add("referer", "https://images.google.com/")
req.Header.Add("accept-language", "en-US,en;q=0.9")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
var imageURL string
if strings.Contains(string(body), ",\"ou\":\"") {
imageURL = strings.Split(strings.Split(string(body), ",\"ou\":\"")[1], "\",\"ow\":")[0]
} else {
return "", errors.New("Image not found.")
}
req2, _ := http.NewRequest("GET", imageURL, nil)
res2, _ := http.DefaultClient.Do(req2)
defer res2.Body.Close()
if res2.StatusCode == 404 {
return "", errors.New("Image not found.")
} else {
return imageURL, nil
}
}
最佳答案
您声称 Spotify 个人资料图片图像是 ISO 8850-1编码/加密没有意义。
更有意义的是它是 Base64 编码的。
例如,
Spotify for Developers: Web API: Upload a Custom Playlist Cover Image.
Base64 encoded JPEG image data, maximum payload size is 256 KB
在围棋中,
import "encoding/base64"
Package base64 implements base64 encoding as specified by RFC 4648.
另一个证据:“UTF-8 格式的 HTTPS 请求”
Spotify for Developers: Web API
Requests
The Spotify Web API is based on REST principles. Data resources are accessed via standard HTTPS requests in UTF-8 format to an API endpoint.
例如。使用您的 Stack Overflow 个人资料图片:
package main
import (
"encoding/base64"
"fmt"
"io/ioutil"
"net/http"
"os"
)
func grabImageBytes(imageURL string) ([]byte, error) {
req, err := http.NewRequest("GET", imageURL, nil)
if err != nil {
return nil, err
}
res, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
return nil, err
}
enc := base64.StdEncoding
img := make([]byte, enc.EncodedLen(len(body)))
enc.Encode(img, body)
return img, nil
}
func main() {
imageURL := `https://lh5.googleusercontent.com/-P8ICR-LXoBs/AAAAAAAAAAI/AAAAAAAAE04/fVAeB6_nMeg/photo.jpg?sz=328`
img, err := grabImageBytes(imageURL)
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
fmt.Println(string(img))
}
关于go - 如何转换图像以上传 Spotify 个人资料图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53909445/
我正在使用passport.js 为我的node.js 应用程序提供OAuth 身份验证。但我确实有一个疑问: 当我在身份验证时收到配置文件对象(当您定义 OAuth 策略时)时,该对象对于所有提供商
我正在尝试对 wordpress 布局进行解码/逆向工程。我正在浏览 CSS 文件,无法弄清楚这个长长的菜单 mumbo-jumbo 是什么! 我不是要任何人检查代码,而是让我知道我在看什么。这些似乎
所以我尝试制作一个包含私有(private)配置文件的 symfony 项目,并且我使用 FriendsOfSymfony,但是如果我创建两个用户,每个人都可以看到其他人上传的文件。我尝试在多个网站上
我正在编写一个需要使用已登录 G+ 用户的公开个人资料图片的 JS 应用。 如果我有用户 ID,我可以使用 Google+ API 查询个人资料数据。 https://developers.googl
我看过很多关于 facebook 身份验证的帖子,要么是旧的,要么不能正常工作。 然而,最终我在我的项目中做了一些可行但不完全的东西。这是我要求的代码 var facebookAuth
我是一名优秀的程序员,十分优秀!