1

トークンに「+」が付いている場合、他のサーバーがリクエストを認識しないため、外部サーバーにリクエストを送信する際に問題が発生します。エンコーディングの問題だと思いますが(Railsの初心者です)、どうしたらよいかわかりません。

これは私のコードです

        req = Curl::Easy.new do |curl| 
        curl.url = "https://blabla.com/bla?token=#{@token}"
        curl.headers['Content-type'] = 'application/json'
    end
    req.perform
    puts req.body_str

トークンが次のような場合:S6ps1YSMC6xaRusfSH4aBg1RTm2 / U1u1ng / hZSmGGTGX12AcL // Q33ri7Wlkl1Vjg4j / zDM =

大丈夫ですが、いつですか:HK + rKsYMTbs2fjN + pLfPIj5wcjZp3IVQWuK5jW0iN / wKfkVgsQAjQ5 + A1RvUF1Lp0lgdf1M =

応答は403(禁止)です。

ドキュメントを検索しましたが、何も見つかりませんでした(https://github.com/taf2/curb)。

curl ::を強制するアイデアはありますか?「+」を別のものに変換しないのは簡単ですか?

4

1 に答える 1

2

リクエストを送信する前に、@tokenをエンコードしてuriを試してください。'u'メソッドを試してください

>> u "HK+rKsYMTbs2fjN+pLfPIj5wcjZp3IVQWuK5jW0iN/wKfkVgsQAjQ5+A1RvUF1Lp0lgdf1M="
=> "HK%2BrKsYMTbs2fjN%2BpLfPIj5wcjZp3IVQWuK5jW0iN%2FwKfkVgsQAjQ5%2BA1RvUF1Lp0lgdf1M%3D"
于 2012-10-04T15:06:17.677 に答える