@jallvar

Golang как отправить GET запрос?

Всем привет. пытаюсь отослать http запрос. но почему-то он битый. когда повторяю через браузер, то срабатывает
Еще какая-то странность с кодировкой. для справки. апи кей и параметры для запроса беру из конфига в формате json
Подскажите. в какую сторону смотреть?

package Client

import (
	"csgoMarketBot/Client/Dto"
	"encoding/json"
	"fmt"
	"io"
	"net/http"
	"net/url"
)

const ApiEndPoint = "https://market.csgo.com/api/v2/"

type ClientApi interface {
	getRequestBody(method string, query map[string]string) (requestBody Dto.RequestBody, err error)
}

type Client struct {
	apiKey string
}

func NewClient(apiKey string) *Client {
	return &Client{apiKey: apiKey}
}

func (client *Client) FetchOrdersByHashName(weaponHashNames []string) {
	query := make(map[string]string, 0)

	for _, v := range weaponHashNames {
		query["list_hash_name[]"] = v
	}

	res, err := client.getRequestBody("search-list-items-by-hash-name-all", query)

	if err != nil {
		fmt.Println("Error: " + err.Error())
	}

	fmt.Println(res)
}

func (client *Client) getRequestBody(method string, query map[string]string) (requestBody Dto.RequestBody, err error) {
	queryParams := url.Values{}
	queryParams.Add("key", client.apiKey)

	for k, v := range query {
		queryParams.Add(k, v)
	}

	urlMethod := ApiEndPoint + method + "?" + queryParams.Encode()

	req, err := http.NewRequest("get", urlMethod, nil)

	if err != nil {
		println("error: " + err.Error())
	}

	httpClient := &http.Client{}
	response, err := httpClient.Do(req)

	println(response.Request.URL.RequestURI())

	if err != nil {
		panic(err)
	}

	bodyBytes, err := io.ReadAll(response.Body)

	if err != nil {
		panic(err)
	}

	println(string(bodyBytes))

	err = json.Unmarshal(bodyBytes, &requestBody)

	if err != nil {
		panic(err)
	}

	return requestBody, nil
}


Вывод в консоль
/api/v2/search-list-items-by-hash-name-all?key=aiBJm1xsdfb0d30xY0nV066&list_hash_name%5B%5D=SCAR-20+%7C+Contractor+%28Well-Worn%29
<html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>cloudflare</center>
</body>
</html>


Конфиг:
{
  "ApiKey":"aiBJm1xuvasdasdY0nV066",
  "PurchaseList":[
    {
      "MarketName": "SCAR-20 | Contractor (Well-Worn)",
      "SellPrice": 1.7,
      "BuyPrice": 1.2,
      "LimitOwnership": 5
    }
  ]
}
  • Вопрос задан
  • 1089 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
Ответ написан
Комментировать
@calculator212
400 Bad Request
cloudflare

Да интересно, что же не так с эти запросом
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы