现在我正在使用基本的get请求模板[here] [1]从indiegogo获取url作为辅助项目的一部分。然后我使用
将字节数据转换为字符串responseText, err:= ioutil.ReadAll(response.Body)
trueText:= string(responseText)
在需要时进行适当的错误处理
它适用于重复尝试获取和其他一些不同长度的网址(至少与之前的网址一样大,有些长度比下一个网址长)。
奇怪的是,当我试图让它中断并抛出
的运行时错误时panic: runtime error: index out of range
并退出状态为2.我很好奇这个问题是什么。
我知道不是indiegogo对我的一分钟请求和切断我的连接感到愤怒,因为我可以连续20分钟请求没有问题。给它一点停机时间,它仍然完全中断
感谢您的帮助
编辑,看起来好像是某些页面中的html格式错误,这些页面与我运行的循环相混淆,基于设法在运行时仅在某些网址上破解的内容。谢谢你的帮助[1]:
答案 0 :(得分:0)
从网址获取并将正文转换为Go string
类型时没有错误。例如,
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
url := "http://www.indiegogo.com/projects/culcharge-smallest-usb-charge-and-data-cable-for-iphone-and-android"
res, err := http.Get(url)
if err != nil {
log.Fatal(err)
}
body, err := ioutil.ReadAll(res.Body)
res.Body.Close()
if err != nil {
log.Fatal(err)
}
text := string(body)
fmt.Println(len(body), len(text))
}
输出:
66363 66363
您没有向我们提供一小段代码,这些代码以您描述的方式进行编译,运行和失败。这让我们都在猜测。