Skip to content

Instantly share code, notes, and snippets.

@coyove
Created February 8, 2017 13:07
Show Gist options
  • Save coyove/ee854a317f76fe59036e124112d4cf41 to your computer and use it in GitHub Desktop.
Save coyove/ee854a317f76fe59036e124112d4cf41 to your computer and use it in GitHub Desktop.
func uploadWeibo(fn string) ([]byte, error) {
file, err := os.Open(fn)
if err != nil {
return nil, err
}
defer file.Close()
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
writer.WriteField("app", "miniblog")
writer.WriteField("token", "I-Love-You")
writer.WriteField("s", "json")
writer.WriteField("rotate", "0")
writer.WriteField("logo", "1")
writer.WriteField("nick", "")
writer.WriteField("url", "")
writer.WriteField("cb", "")
part, err := writer.CreateFormFile("pic1", filepath.Base(fn))
if err != nil {
return nil, err
}
_, err = io.Copy(part, file)
if err != nil {
return nil, err
}
err = writer.Close()
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", `http://picupload.service.weibo.com/interface/pic_upload.php?&mime=image%2Fjpeg&url=0&markpos=1&logo=&nick=0&marks=1&app=miniblog`, body)
req.Header.Add("Content-Type", writer.FormDataContentType())
req.Header.Add("Cookie", `SUB=`+*subFlag+";")
req.Header.Add("User-Agent", `Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36`)
req.Header.Add("Host", "picupload.service.weibo.com")
req.Header.Add("Origin", "http://picupload.service.weibo.com")
req.Header.Add("Referer", "http://picupload.service.weibo.com/interface/")
client := http.Client{Timeout: 10 * time.Second}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
buf, _ := ioutil.ReadAll(resp.Body)
resp.Body.Close()
return buf, err
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment