リクエストクエリパラメータにラインフィードを追加するnet / urlパッケージ

muilpp:

SongkickのAPIを呼び出して、APIキーとページ番号であるパラメーターを次のようにエンコードしています。

    Url, err := url.Parse("https://api.songkick.com")
    Url.Path += "/api/3.0/metro_areas/" + myArea + "/calendar.json"
    parameters := url.Values{}
    parameters.Add("apikey", myApiKey)
    parameters.Add("page", myPage)
    Url.RawQuery = parameters.Encode()

    req, err := http.NewRequest("GET", Url.String(), nil)

apiKeyパラメータに%0Aを追加することを除いて、すべて問題ありません。結果のクエリは次のようになります。 http://api.songkick.com/api/3.0/metro_areas/28714/calendar.json?apikey=myKey%0A&page=12

私はnet / urlパッケージのコードに従ってきましたが、なぜこれが起こっているのか理解できません。これが発生する可能性がある唯一の場所はエスケープ関数内のスイッチケースshouldEscape(c、mode)ですが、ドキュメントを読むと、これは私のケースではありません。

誰かがこれについてヒントを持っていますか?

これは、イメージgolang:latestに基づいてDockerコンテナーで実行した場合にのみ発生します。ローカルPCから実行すると、正常に動作します。

これは私がファイルを読んでいる方法です:

bs, err := ioutil.ReadFile("apiKeyFile.txt")

if err != nil {
    fmt.Println("Error:", err)
    os.Exit(1)
}

return string(bs)
iLoveReflection:

myApiKeyには改行があり、その改行はクエリ文字列にエンコードされます。

不要な改行を削除して問題を修正します。これは、bytes.TrimSpaceを使用して、ファイルデータから先頭と末尾の空白を削除することで実行できます

bs, err := ioutil.ReadFile("apiKeyFile.txt")
if err != nil {
    fmt.Println("Error:", err)
    os.Exit(1)
}
return string(bytes.TrimSpace(bs))

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

リクエストにパラメータを追加する

分類Dev

クエリパラメータを使用してリクエストURLを追加するslackslashコマンド

分類Dev

MUXパッケージを使用してクエリパラメーターをGo HTTPリクエストハンドラーに渡す

分類Dev

WebClientリクエストにクエリパラメータを追加する

分類Dev

フラスコのGETリクエストごとにクエリパラメータを追加する

分類Dev

Androidライブラリプロジェクトにバターナイフを追加すると、ライブラリクラスのコンパイル時に「パッケージが存在しません」というエラーが発生します

分類Dev

snake_caseリクエストパラメータをSpringフォームにバインドする

分類Dev

改造リクエストでインターフェースにパラメーターを設定する方法

分類Dev

セッターなしでリクエストパラメータをバインドするには?

分類Dev

Javaコンパイラがパッケージプライベートスーパータイプで定義されたパブリックメソッドに可視性ブリッジメソッドを追加するのはなぜですか?

分類Dev

すべてのHttpClientリクエストメソッドにパラメーターを追加する方法

分類Dev

値のないクエリパラメータをレトロフィットリクエストに動的に追加する

分類Dev

テーブルにパラメータ値を追加するストアドプロシージャクエリ

分類Dev

dstore / Restリクエストでクエリパラメータを追加する

分類Dev

jQueryにPOSTリクエストに「アンダーライン」(_)パラメータを追加させる方法は?

分類Dev

リクエストを送信するためにパラメータ「リクエストペイロード」を追加する方法

分類Dev

HTTP GETリクエストにURLクエリパラメータを追加する方法

分類Dev

URLクエリパラメータをリセットするフォーム投稿のロジック?

分類Dev

Railsアプリ-APIgetリクエストにクエリパラメーターを追加する方法は?

分類Dev

URLクエリ文字列パラメーターに基づいてilightboxポートフォリオアイテムをフィルタリングする

分類Dev

ファイルまたはディレクトリパスをRESTAPIパラメーターとしてFistifyエンドポイントに渡す方法

分類Dev

Spring MVC:リクエストパラメータをジェネリックリストにバインドする問題

分類Dev

ジェネリックスにドキュメントを追加します。RetrieveAPIView'retrieve 'メソッドのクエリパラメータ

分類Dev

ポリモーフィックバリアントにパラメトリックに `Nullコンストラクターを追加する

分類Dev

Spring MVC:リクエスト属性をコントローラーメソッドパラメーターにバインドする

分類Dev

XMLHttpRequestにリクエストパラメータを追加する方法

分類Dev

配列リクエストにパラメータを追加する

分類Dev

ジャージークライアント:リストをクエリパラメーターとして追加する方法

分類Dev

ジャージーレストクライアントがクエリパラメータを追加しない

Related 関連記事

  1. 1

    リクエストにパラメータを追加する

  2. 2

    クエリパラメータを使用してリクエストURLを追加するslackslashコマンド

  3. 3

    MUXパッケージを使用してクエリパラメーターをGo HTTPリクエストハンドラーに渡す

  4. 4

    WebClientリクエストにクエリパラメータを追加する

  5. 5

    フラスコのGETリクエストごとにクエリパラメータを追加する

  6. 6

    Androidライブラリプロジェクトにバターナイフを追加すると、ライブラリクラスのコンパイル時に「パッケージが存在しません」というエラーが発生します

  7. 7

    snake_caseリクエストパラメータをSpringフォームにバインドする

  8. 8

    改造リクエストでインターフェースにパラメーターを設定する方法

  9. 9

    セッターなしでリクエストパラメータをバインドするには?

  10. 10

    Javaコンパイラがパッケージプライベートスーパータイプで定義されたパブリックメソッドに可視性ブリッジメソッドを追加するのはなぜですか?

  11. 11

    すべてのHttpClientリクエストメソッドにパラメーターを追加する方法

  12. 12

    値のないクエリパラメータをレトロフィットリクエストに動的に追加する

  13. 13

    テーブルにパラメータ値を追加するストアドプロシージャクエリ

  14. 14

    dstore / Restリクエストでクエリパラメータを追加する

  15. 15

    jQueryにPOSTリクエストに「アンダーライン」(_)パラメータを追加させる方法は?

  16. 16

    リクエストを送信するためにパラメータ「リクエストペイロード」を追加する方法

  17. 17

    HTTP GETリクエストにURLクエリパラメータを追加する方法

  18. 18

    URLクエリパラメータをリセットするフォーム投稿のロジック?

  19. 19

    Railsアプリ-APIgetリクエストにクエリパラメーターを追加する方法は?

  20. 20

    URLクエリ文字列パラメーターに基づいてilightboxポートフォリオアイテムをフィルタリングする

  21. 21

    ファイルまたはディレクトリパスをRESTAPIパラメーターとしてFistifyエンドポイントに渡す方法

  22. 22

    Spring MVC:リクエストパラメータをジェネリックリストにバインドする問題

  23. 23

    ジェネリックスにドキュメントを追加します。RetrieveAPIView'retrieve 'メソッドのクエリパラメータ

  24. 24

    ポリモーフィックバリアントにパラメトリックに `Nullコンストラクターを追加する

  25. 25

    Spring MVC:リクエスト属性をコントローラーメソッドパラメーターにバインドする

  26. 26

    XMLHttpRequestにリクエストパラメータを追加する方法

  27. 27

    配列リクエストにパラメータを追加する

  28. 28

    ジャージークライアント:リストをクエリパラメーターとして追加する方法

  29. 29

    ジャージーレストクライアントがクエリパラメータを追加しない

ホットタグ

アーカイブ