/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

Linkdingから情報取得が出来ない

LinkdingのAPIを使って登録したBookmarkを取得するようなプログラムを書いています。

そのプログラム自体はそのうち記事にしようと思いますが、今日はその時に起こった事象を記事にしようかと思います。

情報取得できない

まずはプログラム云々の前に、LinkdingAPIを使って情報取得ができるかどうかcurlコマンドを使って確認してみました。

curl -v -H "Authorization: Token a23a8190f25668c8962425ec176031506ad60bcb" "http://192.168.11.11:9090/api/bookmarks"

上記のコマンドを実行したところ、何も取得できない。

おかしい・・・・最近も登録しているし、データがないということはないと思って、-vをつけて詳細を表示してみました。

yatta47@hero-box:~$ curl -v -H "Authorization: Token a23a8190f25668c8962425ec176031506ad60bcb" "http://192.168.11.11:9090/api/bookmarks"
*   Trying 192.168.11.11:9090...
* Connected to 192.168.11.11 (192.168.11.11) port 9090 (#0)
> GET /api/bookmarks HTTP/1.1
> Host: 192.168.11.11:9090
> User-Agent: curl/7.81.0
> Accept: */*
> Authorization: Token a23a8190f25668c8962425ec176031506ad60bcb
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 301 Moved Permanently
< Content-Type: text/html; charset=utf-8
< Location: /api/bookmarks/
< Content-Length: 0
< X-Content-Type-Options: nosniff
< Referrer-Policy: same-origin
< Cross-Origin-Opener-Policy: same-origin
<
* Connection #0 to host 192.168.11.11 left intact
yatta47@hero-box:~$

301・・・・だと?!なぜかリダイレクトされている・・・・なぜ・・・・

 

解決

理由はURLの後ろに「/」がないというシンプルなものでした。以下のコマンドラインを実行したところ、ちゃんと取得できました。

curl -v -H "Authorization: Token a23a8190f25668c8962425ec176031506ad60bcb" "http://192.168.11.11:9090/api/bookmarks/"

-L オプションをつけるのでもいいみたい。

 

まとめ

一文字内だけで・・・と思わなくもないけれど、こういうものだよなーという妙に納得した事案でした。

APIを叩いてみて、取得できない時は

  • 詳細を表示してみる
  • リダイレクトされていないか疑う

をしてみると解決するかもしれません。

それではまた~。