【发布时间】:2014-08-02 06:13:59
【问题描述】:
每次我尝试运行它时我都看不到是我的错误当我打印一些关键变量时我什么也没得到:
打印长网址
打印和输出
&{400 错误请求 400 HTTP/1.1 1 1 map[X-Frame-Options:[SAMEORIGIN] X-Xss-保护:[1;模式=块] 服务器:[GSE] 替代协议:[443:quic] 内容类型:[application/json; charset=UTF-8] 日期:[星期四,2014 年 6 月 12 日 02:10:33 GMT] 过期时间:[星期四,12 2014 年 6 月 02:10:33 GMT] 缓存控制:[private, max-age=0] X-Content-Type-Options:[nosniff]] 0xc2100fe940 -1 [chunked] false 地图[] 0xc2100581a0}
// c0de urlShort
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
"os"
)
type apiResponse struct {
Id, Kind, LongURL string
}
func main() {
longURL := os.Args[len(os.Args)-1]
body := bytes.NewBufferString(fmt.Sprintf(
`{"longURL":"%s"}`,
longURL))
request, err := http.NewRequest(
"POST",
"https://www.googleapis.com/urlshortener/v1/url",
body)
request.Header.Add("Content-Type", "application/json")
client := http.Client{}
response, err := client.Do(request)
if err != nil {
log.Fatal(err)
}
outputAsBytes, err := ioutil.ReadAll(response.Body)
response.Body.Close()
var output apiResponse
err = json.Unmarshal(outputAsBytes, &output)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s", output.Id)
}
【问题讨论】:
标签: go