Stack Overflow на русском Asked by Jack Smith on September 23, 2020
У меня есть test.txt
в нем 10 разных строк. Мне нужно прочитать и записать в массив построчно.
Код:
package main
import (
"fmt"
"io/ioutil"
"strings"
)
func main() {
bs, err := ioutil.ReadFile("test.txt")
if err != nil {
return
}
str := string(bs)
fmt.Println(str)
strs := strings.Split(str, "rn")
fmt.Println(strs) // выводится последняя строка файла + ]
}
Вывод:
0.0.0.0:80
110.172.167.34:8080
110.5.98.234:3128
110.8.253.100:80
113.6.255.107:80
114.30.47.10:80
114.30.79.62:8080
115.124.67.54:80
116.68.172.35:8080
116.84.187.131:3128
117.102.93.138:80
117.102.95.114:3128
117.35.118.2:3128
118.175.14.108:3128
118.220.175.207:80
118.46.147.201:3128
118.96.102.181:3128
118.96.110.41:3128
118.96.121.70:3128
118.96.148.40:3128
118.96.24.227:8080
118.96.87.107:3128
[0.0.0.0:80 110.172.167.34:8080 110.5.98.234:3128 110.8.253.100:80 113.6.255.107:80 114.30.47.10:80 114.30.79.62:8080 11
5.124.67.54:80 116.68.172.35:8080 116.84.187.131:3128 117.102.93.138:80 117.102.95.114:3128 117.35.118.2:3128 118.175.14
.108:3128 118.220.175.207:80 118.46.147.201:3128 118.96.102.181:3128 118.96.110.41:3128 118.96.121.70:3128 118.96.148.40
:3128 118.96.24.227:8080 118.96.87.107:3128 ]
Добавил код для выбора прокси сервера:
str := string(bs)
strs := strings.Split(str, "rn")
bestProxyServer := randInt(len(strs))
fmt.Print(strs)
proxyUrl, err := url.Parse(str[bestProxyServer])
httpClient := &http.Client { Transport: &http.Transport { Proxy: http.ProxyURL(proxyUrl) } }
response, err := httpClient.Get(host)
Из среза ничего не выбирается, остается мой прежний ip адрес.
Вывод:
[110.5.98.234:3128 110.8.253.100:80 113.6.255.107:80 114.30.47.10:80 114.30.79.62:8080 115.124.67.54:80 116.68.172.35:80
80 116.84.187.131:3128]map[Date:[Mon, 06 Nov 2017 15:59:37 GMT] Content-Type:[text/html; charset=UTF-8] Set-Cookie:[PHPS
ESSID=tknp6t8h5m6rmptdb8cvef1so2; path=/ IP%5B1509983977%5D=**92.53.213.181**; expires=Sun, 04-Feb-2018 15:59:37 GMT; Max-Ag
e=7776000; path=/; domain=.2ip.ru] Server:[nginx] Connection:[keep-alive] Expires:[Thu, 19 Nov 1981 08:52:00 GMT] Cache-
Control:[no-store, no-cache, must-revalidate] Pragma:[no-cache]]
Если вы уверены, что файл маленький, то дальше вам просто нужно разделить строку по n
:
strs := strings.Split(str, "n")
Если файл большой, то лучше использовать bufio.Scanner
. Пример есть в документации.
Answered by Ainar-G on September 23, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP