「CURL」を含む日記 RSS

はてなキーワード: CURLとは

2024-06-11

anond:20240611151940

単発でデータ取ってくるならcurlポポポーンでいいけど、収集を完全自動化するにはどうするかって話ならもっとハードル高いだろ

anond:20240611151712

まーまー一般的だけど

PythonCurl使ってデータとってきましたーとかまあテック企業なら新卒にあげてあげる仕事

anond:20240611141428

なぜ curlwget を使わず python で chorome を起動したの?

2024-02-01

本日趣味プログラミング

第3回 さくらインターネットスタンダードプラン環境にnpmをインストールする

第2回頓挫したので、その原因を取り除くためにnpmとやらをインストールする。

全然プログラミングじゃない。

参考文献を元に進める。

まず新しいバージョンOpenSSLコンパイルするらしい。あと新しいバージョンを使うにはPython必要らしい。

もうゲンナリしてきた。今のバージョン確認する。

openssl version
OpenSSL 1.1.1k-freebsd  24 Aug 2021

python --version
Python 3.8.12

いきなりnpm(⇔Node.js?)のコンパイルが行けそうな気がしたので、とりあえずやってみる。

参考にしたサイトにはOpenSSL云々に関することが書いてあるが、その辺は全部問題ないことを祈って、関連するオプションを全部取っ払う。

curl -sSf https://nodejs.org/dist/v20.11.0/node-v20.11.0.tar.gz -O
tar zxf node-v20.11.0.tar.gz
cd node-v20.11.0
./configure

とすると、

Node.js configure: Found Python 3.8.12...
WARNING: C++ compiler (CXX=g++, 9.4.0) too old, need g++ 10.1.0 or clang++ 8.0.0
WARNING: warnings were emitted in the configure phase
INFO: configure completed successfully

「successfully」なら問題ないよな?

続いてmakeだ。makeってなに?もちろんconfigureもよくわかってない。大規模なプログラムコンパイルするとき必要なヤツというボンヤリとした認識だ。

当然コンパイルがなんなのかもよくわかってない。

nohup make install DESTDIR=/home/*****/local PREFIX=

ここから30分経っても応答が無いので飽きる。

はい、もう無理。飽きた! 次回があるとしたら「npmをインストールする②」である

もっと新しい情報があったようだ。こっち見てやればよかった。

2023-08-30

プロダクション環境テストに debug を表示させてはいけない

エラーページに詳細に脆弱性が書かれるから。仮にハッカーステージング環境ipを知っていたら、cron で wgetcurl をつかって、毎時スクローリングしてバグ画面を収集しよとするだろう。基本的には、ステージング環境テストip 制限とかをクラウドで設定すべき。

2023-01-11

githubっていつのまに、ちょい古めのブラウザだとassetsの所がグルグル回ったまま、クリックしても開かないようになったんだ。

ちなみに、ちゃんと開けるブラウザを使ってだ、HTML検証できるサイトに行ってそのページのソースを貼り付けたらば、やっぱ古いブラウザと同じ結果になる。

ほんまにいらんことしよってからに!

ダウンロードするには、ターミナルcurl -v https://api.github.com/repos/[目的場所 公開してる人のアカウント名(owner)/プロジェクト(repo) ]/releases/assets

ってやるとずらっと表示される中に"browser_download_url" とあって、ブラウザダウンロードできるURLが表示される。

これをブラウザコピペすればダウンロードできる。

releasesの右に/tag/が入ってるページの絞り込みはreleasesの横に入れればいいのかと思ったが、ちょっとからなかった。

ターミナルを使わなくてもcurl -v を省いて、"https://api.github.com/repos/"から"/releases"までをブラウザURL欄に入れたら同じ内容が階層にまとまった状態で表示されるのに気づいた(三角クリックしたら開く)

そしてグレーで「json検索」って所にラベル名なんかを入れると絞り込んでくれる。

なんだこれ凄く便利じゃないか

2022-08-25

猫も杓子もStable diffusion

単なる車輪の再発明メモ

M1 pro Macにて。ここ参照:https://github.com/magnusviri/stable-diffusion/tree/apple-silicon-mps-support

git clone https://github.com/magnusviri/stable-diffusion.git

cd stable-diffusion

git checkout apple-silicon-mps-support

conda env create -f environment-mac.yaml

うまくいかないのでRustをインストール

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

conda activate ldm

mkdir -p models/ldm/stable-diffusion-v1/

https://huggingface.co/CompVis/stable-diffusion-v-1-4-original から`sd-v1-4.ckpt`をダウンロードして、

ln ~/Downloads/sd-v1-4.ckpt models/ldm/stable-diffusion-v1/model.ckpt

以下のパッケージを追加した。https://twitter.com/hevohevo/status/1562364961481162754?s=20&t=KxNXNB9fz99fbosZ8TfnvQ を参考に。

conda install onnx

pip install invisible-watermark

それで実行

python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms

するとエラーになる。https://qiita.com/hevo2/items/e646148a05118074fecf に従い、下記ファイルの2511行目を書き換え。

vi /opt/homebrew/Caskroom//miniforge/base/envs/ldm/lib/python3.10/site-packages/torch/nn/functional.py

2022-07-11

anond:20220710235539

なんかcurlで実行すると30秒どころか1分とか放置してもレスポンスない😠

使えん機能放置するなら、さくっと削除しといてほしい

2022-05-22

はてブコメント標準出力に流すやーつ

普段から俺様が使っているスクリプトあるから、公開してほめちぎってもらうぞー!

出力はただの文字列から音声読み上げアプリでも何でも、突っ込んで遊んでくれ。

jq必須です。

ログインせず使うので当然アカウント固有の非表示設定とかは動きません。

あれなIDコメントも全部所得することになるのでご注意ください。

まあそこらへんはsedでも使って気に入らないidの行を勝手に削除してくれ

hatebu_comment.sh

#!/bin/bash

if [[ "$1" =~ ^http ]];then
	: # Success
else
	echo "Error: 引数指定したURLブックマークコメント一覧を取得するやーつ"
	echo "例: ./hatebu_comment.sh 'https://www3.nhk.or.jp/news/html/20200405/k10012369381000.html' | less"
	exit;
fi

if [[ "$1" =~ b.hatena.ne.jp/entry/s ]];then
	# はてブページのURLでも動作するように
	url="https://$(echo $1 | sed -e 's@.*/entry/s/@@')"
else
	url=$1
fi

if ! jq --version > /dev/null ;then
	echo "Error: jqがインストールされていません"
	exit;
fi

curl -s "https://b.hatena.ne.jp/entry/jsonlite/?url=$url" |
	jq '.bookmarks[] | if .comment != "" then ("「" + .user + "」 " + .comment) else empty end' |
	sed 's@^"@@g' | sed 's@"$@@g'

2022-05-06

[]RStudio最新版インストールするスクリプトを書いた(Debian/Ubuntu)

RStudioがPCから気がついたら消滅していたので何回もやり直すのが面倒で書いた

Debian/Ubuntubash

コメントアウトをいじればFedoramacOSでも動くと思う

https://pastebin.com/HiPqLVq7 (6/4 shコマンドでも動くように修正 以前はbash hogehoge起動していたので動作確認していなかった)

エラーでここに貼れなかった

実行したディレクトリダウンロードする

パッケージインストールするのでsudoとかが必要

必要パッケージについて(コメントアウトオフに)

util-linux(rev) libxml2-utils(xmllint) gpg curl coreutils(sha256sum)とR関連

  1. rev まずデフォルトで入っている 文字列を逆さまにするコマンド
  2. xmllint 同上 xpathを扱えるコマンド(xmlを扱うコマンド) Debianでは入っていなかった
  3. gpg 同上 署名関連 これがないとインストール出来ない環境もある
  4. curl 同上 getリクエストとかを送れる bashだけでHTTPとかを送るのは苦痛なので
  5. sha256sum 同上 ハッシュ値確認
  6. R関連 これがないと動かない
コード関連備考
xmllint
echo "$HTML" | xmllint --nowarning --xpath hogehoge --html - | hogehoge

こうしないとxmllintがエラーでhtlmなどをうまく読み取らない

sed 's/href="//g;s/"//g;s/\s/\n/g;s/^.?$//g;s/^\n//g'

href="hogehoge"の形で出てxmllint内で除去出来なかったのでsed妥協

hrefが1回しか出ないのでひとまとめにできそうだが面倒なので分けた

この書き方なら複数回出ても除去できるはず

先頭の謎のスペースの除去が面倒だった

sha256sum
echo "$HASH"  "$FIELNAME" | sha256sum --status -c ;echo $?

スペースが2つないと書式で怒れられてハッシュ値が合っていてもsha256sumが終了ステータス0で正常終了を返してくれない

使ったツール

VScodium

ShellCheck

https://open-vsx.org/vscode/item?itemName=timonwong.shellcheck

XPath Helper

https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl

最後

zenn.devに書こうか迷ったがどちらの方が良かったのだろうか…

ダウンロードしたサーバーがやられてるならハッシュ値改ざんするだろうgpgで確認しないと意味ないでしょとかsudoでやったらディレクトリがとか色々ガバあるからかいい感じに改良して

参考

https://cran.rstudio.com/bin/linux/debian/

https://www.rstudio.com/code-signing/

https://www.rstudio.com/products/rstudio/download/

2022-01-26

cURLlog4j問題質問がされる件

オープンソースcURLの作者、某大企業から「24時間以内にこの質問に答えるように」との無礼なメールを受け取る - Publickey について思ったことをつらつらと。

概要

log4shell と呼ばれる脆弱性が 2021 年 12 月にあった。これは Java というプログラミング言語プログラムする際に、動作ログを記録するのに非常によく使われるライブラリ log4j にとても危険脆弱性があった。なにがそんなに危険かっていうと

マインクラフトサーバが乗っ取られたとか被害も有名。詳細は Piyolog さんの Log4jの深刻な脆弱性CVE-2021-44228についてまとめてみた - piyolog あたりを参照。

そんなわけで即座に影響範囲脆弱性のない新しいバージョンになっているか調べろ!って IT 関連企業はとてもバタバタしていた。

という背景の中、オープンソースソフトウェアである cURL の作者にとても失礼な log4j問題に関する質問メールが送られてきて、「サポート契約すれば即座に教えてあげますよ」ってかっこいい返しをして盛り上がっている。

cURL とは

cURL (https://github.com/curl/curl]) はオープンソース(以下 OSS)の通信ライブラリコマンドラインツールLinux などのサーバからファイルダウンロードしたりするのにとてもよくつかわれるライブラリ

C言語で書かれている。

ライセンスMIT を参考にした独自ライセンス https://curl.se/docs/copyright.htm]

つっこみどころ

OSS基本的に無保証提供される。そのことはライセンスに明記されている。

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

そんな OSS に対して、

あなたがこのメールを受け取ったのは、■■があなたが開発した製品採用しているためです。私たちはこのメールあなたが受け取ってから24時間以内に、お読みいただいた上でご返答いただくよう要求します」 

といった上から目線メール開発者に送るというのは、IT 企業として無知にもほどがあるといったところ。加えて log4shell 問題名前のとおり log4j脆弱性なので Java でかつ log4j を使ってなければ影響はないのに、C言語でかかれた cURL に問い合わせているので問題を全く理解していない。(Java の j が消えるので log4shell という命名はどうなんだというのは個人的にある。つーか Poodle とか Spectre とかファンシー名前つけてあそんでんじゃねーとも思う。)

しかも緊急性の高い脆弱性に今ごろ質問?って感じ。

なお cURL はどうやら開発者Daniel Stenberg 氏が wolfSSL というところを通じて商用サポート提供しているらしい。 https://curl.se/support.html]

ということで、「サポート契約を結んでいただければ、喜んですべて速やかにお答えしますよ」 というのはネタでもなんでもなく、普通対応

でもこの返しかっこいいしあこがれちゃう

そしてブログに書いてある2回目の返信で、David名前を間違えられたのに対して、Fotune 500 の巨人ということで "Hi Goliath," と返しているのも最高にクールですね。

なんでこんなメールが送られてくるのか

あくま経験想像だけど

こういうフローが事前に規定されていて CVE とか問題が検知されると発動する。このとき担当大丈夫です!って回答するときエビデンス証拠)を求められるのだけど、クソな情セキは自社の担当言葉を信用せず、開発会社からの言質をとれ!って命令するので、くそメールスパムされるという背景があったりする。(担当無知だったりイケイケだと、とにかく下請けやらせればいいというパターンももちろんある)

そして情セキも経営層に報告するのに必要で、経営が0リスク信者だと報告が大変なのはわかる。わかるがそれを説得するのが情セキの仕事やで。

加えて担当レベルになると大手は「そんなん下請けやらせればいいだろ」ってマインドのところが多く、上から目線かつ丸投げすることが多いように思う。

理由

もちろん担当者はピンキリからこうとは限らないけど比較的多い印象。

ま、これ今回 Daniel Stenberg 氏が公表たからばずってるだけで、日本でもしょっちゅう行われているし、Hacker News みると海外でも一般的ムーブのようです。 LogJ4 Security Inquiry – Response Required | Hacker News

ほんと IT 業界地獄だな!

小さいところは

とかであんまり上から目線でこない感じはするけど、これはあくま個人資質なのでやべー人はやべーです。オラオラ系の中小とかやっぱいます。でもこんな細かいことはあんまり聞いてこない。(個人の感想です

この手のメールになんでカチンとくるのかって言えば

ということで、皆ちゃん保守サポート契約して、契約範囲質問しような!

そして金払ってても相手人間なんで、お互い敬意をもって接しような!

その他諸々

Public Key でこの件にからめて記載されている奴について

OSS「faker.js」と「colors.js」の開発者自身ライブラリ意図的改ざん 「ただ働きはもうしない」

https://www.itmedia.co.jp/news/articles/2201/11/news160.html]

ちな、これ詳しくないんだけど、OSS 作者が 「もうただ働きで支援をするつもりはない。これを機に、私に6桁ドルの年間契約書を送るか、プロジェクトを分岐させて他の人にやってもらうかしてほしい」 というのもよくわからないんだよなぁ。

火事財産失ってむしゃくしゃしてやったのかなんなのか。人気 OSS になったのに全然金にならんぜ!ってのが辛いのはわかる。が、OSSライセンス的に支援義務としてやる必要はないので、そんな義務的になってる報告は無視してええんちゃうんと思ってしまう。今回みたいにサポートフィーよこせみたいなスキーム必要だったのかもしれない。

あと個人開発で、善意でこれ便利だろ?って公開しているものに対して、辛辣言葉の心ないバグ報告やら改善要望は心には刺さるので辛いのはある。それで辞めてしまう人も居る。

ブコメフリーライドって書いている人が居るけど、MIT ライセンスでだしてんだから OSS理念である自由ソフトウェアという意味で、再配布、改変、利用は自由でいいんだよ。イヤなら MIT 以外のライセンスでだせばよい。古くは MySQL の Dual ライセンス最近Redis とか Mongo みたいに。

ただ、金欲しいとか大体 Donation 募集したりするとかやってると思うんだけど、そういうのもあったのかなかったのかがよくわからにぃ。ポートフォリオになるので、採用にはつかえるんじゃないのかね?

じゃなきゃ GitHub に Public でコード公開しないと思うんだけどな。いまいちピンとこないのであんまり言及しない。

RedisMongoDB、Kafkaらが相次いで商用サービス制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発

https://www.publickey1.jp/blog/19/redismongodbkafkaaws.html]

で、商用ライセンス問題。これ今回のくそムーブ問題じゃないのここに並べられるのに非常に違和感がある。なんか OSS大企業対立を煽るようなミスリードを誘っているように感じてしまう。

大手クラウドベンダOSSライセンスに則って利用・改変するのは問題がない。つーか儲かってるから金よこせっていうのはちょっと違うんじゃないかなと思う。

オリジナルを開発した会社リスペクトされず、商業的に儲からないってのは、心情的、道義的、人気的にどうなの?クラウドベンダも金払ってあげれば良いんじゃないの?とは思うよ。(2社は協業したけど)

ただ、オープンソースで公開するということは次のような利点を求めてするこって、それがイヤならプロプラで良いわけさね。

Apache License 2.0 とかのライセンスOSS として公表しているものの利用をフリーライド表現するのも、それがなんか嫌儲Evil ってのはちょっと判断できないかなぁ。

大手が自社でメンテできてしまう(できるようにする)というのは経営戦略であり、開発元がクローズにするってのも経営戦略。罵り合い合戦ちょっとなぁという感じ。

OSS理念的に改修した分は元のソースもっとフィードバックしろよってのはあるけど AGPL とかで出してないんだよなぁ。

この辺は賛否両論色々あるので気になったら調べてみて。

以上。ご査収ください。

キ印はどこにでもあまねく存在する

[B! oss] オープンソースcURLの作者、某大企業から24時間以内にこの質問に答えるように」との無礼メールを受け取る

https://b.hatena.ne.jp/entry/s/www.publickey1.jp/blog/22/curl24.html

https://b.hatena.ne.jp/entry/4714515911211219074/comment/mohno

「アンタ、包丁メーカー料理方法を教わるのか」っていう客はい

無関係相手筋違いクレームつけてくるキ印って、けっこう少なくないのよ。

昔、俺がWebサイトを作ってやった企業というか個人商店レベル相手、すごいヤツがいたよ。

ある日、電話をかけてくるなり最初から激高しており「お前の作ったホームページ印刷したら横線がかすれて印刷されない部分がある! プリンタが壊れた!! お前のせいだから今すぐに直しに来い!!!!!!!!!! kファfパエlrかldjfかjかrpブヒィイイイイイイイ!!!!!!!!!!!!!」

ってマジだよこれ。

いやそれインクがかすれてるだけだからヘッダをクリーニングしろ、と言っても馬耳東風。超絶太ってる馬鹿だったから豚耳東風かな。

まあとにかく何を言っても「お前のせいだ、直しに来い」の一点張りだったが、これで折れたら以後ずっと馬鹿につけこまれる。なので、「ですから、うちには関係ないので行きません」と突っぱねて最終的には電話を切った。

そいつは店の二代目だったので、先代の親父さん(ご高齢)に電話をかけて事の顛末説明。親父さんはまともな人なので、パソコン知識は全くわからないがこちらの言い分が正しいことは分かってくれたらしく、謝ってくれた。

以後、豚から電話は一回もないので助かった。

2021-02-10

はてなブックマーク一行スクレイピング

実行すると、各記事

{

 title:記事タイトル,

 url:記事URL,

 users:ブクマ数,

 tags:[タグ]

}

形式に変換し、500ブクマ以上でフィルタし、ブクマ数降順で返す。


#一行版

curl -s https://b.hatena.ne.jp/hotentry/it | pup --charset utf-8 'div.entrylist-contents-main json{}' | jq -r '[.[] | {title: (.. | select(.class? == "entrylist-contents-title") | .children[].title), url: (.. | select(.class? == "entrylist-contents-title")) | .children[].href, users: (.. | select(.class? == "entrylist-contents-users") | .children[].children[].text | tonumber), tags: ([.. | select(.class? == "entrylist-contents-tags") | .children[]?.children[]?.text])}] | unique | map(select(.users >= 500)) | sort_by(.users) | reverse'


#変数

title='title: (.. | select(.class? == "entrylist-contents-title") | .children[].title)'
users='users: (.. | select(.class? == "entrylist-contents-users") | .children[].children[].text | tonumber)'
url='url: (.. | select(.class? == "entrylist-contents-title")) | .children[].href'
tags='tags: ([.. | select(.class? == "entrylist-contents-tags") | .children[]?.children[]?.text])'
target='https://b.hatena.ne.jp/'
hotentry='hotentry/it'
curl -s $target$hotentry | ¥
pup --charset utf-8 'div.entrylist-contents-main json{}' | ¥
jq -r "[.[] | {${title}, ${url}, ${users}, ${tags}}] | unique | map(select(.users >= 500)) | sort_by(.users) | reverse"

2021-01-29

Chrome,Edgecurl(cmd)としてコピーしたm3u8コマンドffmpeg用に直すPowershell

ffmpegパスと保存ファイル名は自分でつぎ足す仕様

$ffparam = ""
$inputs = ""
$lists = Get-Clipboard
Write-Output $lists
foreach ($pms in $lists) {
    if($pms.Contains("curl")) { $inputs += $pms.Replace("curl","-i") }
    if($pms.Contains("user-agent"))
    {
        $ffparam += $pms.Replace('  -H "user-agent: ','-user_agent "')
        continue
    }
    if($pms.Contains("  -H")) { $ffparam += $pms.Replace("  -H","-headers") }
}
$ffparam += $inputs
$ffparam = $ffparam.Replace("^","")
$ffparam += "-c copy -movflags faststart -bsf:a aac_adtstoasc"
Set-Clipboard $ffparam

2020-12-08

anond:20201207180648

ででーwwwwwwwww

バカみたいに話そらすことしかできない無能wwwwwwwww乙wwwwwwwwwwwwww

Chromeゴミみたいにつかえないことと、CURLが使いやすいことは関係ありませーんwwwwwwwwwwwwwwwwwwww

2020-08-13

anond:20200813110428

cURL!懐かしいw

PSR-7にも非準拠だしguzzle使ったほうが良いよ。

2020-05-19

Dockerのインストール

この解説記事の通りにやったらDockerインストール完了した。

sudo apt-get remove docker docker-engine docker.io containerd runc

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# :OUTPUT:

# OK

sudo apt-key fingerprint 0EBFCD88

# :OUTPUT:

# pub rsa4096 2017-02-22 [SCEA]

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

sudo docker run hello-world

# :OUTPUT:

# Hello from Docker!

2020-04-30

browser-syncが444ポートで立ち上がる問題(443ポート空いている編)

Q:443が使われているのでは?

A:netstat確認しても使われていない。実際nc -l 443 でcurl通信できる。443は空いている

2020-04-29

youtube540ページスクレイピング

youtube540ページをcurlしてみる人柱

ログイン ユーザー登録
ようこそ ゲスト さん