COMMON LISP JP > Archives > 2013/05/07

2013/05/07 07:48:35 UTCPocket
#
大括弧 [] を含むURIをhttp通信でGetする方法ってCLでありますか?今500pxというサービスのAPIを叩こうとしていて
#
https://github.com/500px/api-documentation/blob/master/endpoints/photo/GET_photos.md
#
この中でimage_sizeというパラメタに配列(?)を指定できるようでimage_size[]=2&image_size[]=5などとパラメータにくっつけてやると良いようなのですが、
#
素直にそれをふくめたURIをdrakmaでhttp-requestすると、#¥[が不正だというエラーで落とされてしまうようです
#
そこで[]をURIエンコードして%5b%5dにして指定してみたのですが、こんどはAPI側がそれを認識しないようでして、指定されていない事になってしまっているようです。
2013/05/07 07:57:30 UTCsnmsts
#
エラーさえでなくなれば良いって話だと(let ((puri:*strict-parse*)) (drakma:http-request "てけとーurl"))
#
こんな感じでいけまっかね
2013/05/07 08:01:45 UTCPocket
#
おお!そんなオプションが!
#
早速ためしてみたところ、無事APIも正常なレスポンスを返してくれているようです!
#
たすかりました!ありがとうございました。
2013/05/07 08:08:37 UTCsnmsts
#
エラーを吐いてる場所から逆算していくと対策取りやすいので覚えていただけるといいかと。 puri::parse-uri-stringでエラー吐いてるのは明らかで
#
デバッガの内容からparse-uri-stringが原因だってわからないような表示だとするとちょっとだけどね…
2013/05/07 08:11:52 UTCPocket
#
なるほど、以後気をつけます。
2013/05/07 08:13:43 UTCsnmsts
#
や、聞いていただいても構いませんがw