日々精進

新しく学んだことを書き留めていきます

Pythonから送信したリクエストをCharlesで見る

Charlesはhttp://localhost:8888をListenするので、以下の設定をすればリクエストがCharlesを経由するようになり リクエストの中身が見える。

proxy = urllib.request.ProxyHandler({'http': 'localhost:8888'})
opener = urllib.request.build_opener(proxy)
urllib.request.install_opener(opener)

参考:

qiita.com

Pythonのurllib.requestがProxyを使わないようにする

windows環境ではインターネットオプションで設定してあるProxyの情報を自動的に使うようになっているっぽい。 そのせいでlocalhostへのリクエストが社内Proxyに投げられておりエラーになっていた。 以下のようにNO_PROXY環境変数を設定するとProxyを使わないようにできた。

os.environ['NO_PROXY'] = 'localhost'

参考:

stackoverflow.com

docker buildすると「Sending build context to Docker daemon」で何十GBもファイルをコピーする

以下の対応によってDockerfileを置いているフォルダの一つ上の階層がbuild contextになったのだが、 docker buildを実行するとbuild contextの中のファイルをすべてimageにコピーしようとするっぽい。

anton0825.hatenablog.com

そこにいらないファイルが大量にあってそのコピーに時間がかかっていた。 なので不要なファイルを別の所に移して解決。

参考:

ytooyama.hatenadiary.jp

docker buildすると「COPY failed: Forbidden path outside the build context」エラー

Dockerfileより上の階層のファイルはコピーできないらしい。 が、そうしたいこともあるのでDockerfileと同じフォルダに以下のスクリプトを置いて実行するようにした。

cwd=`dirname "${0}"`
cd ${cwd}/../
docker build -t server01:001 -f ./server/Dockerfile

参考:

qiita.com

boto3でファイルをアップロードすると「Your proposed upload exceeds the maximum allowed size」エラー

原因は一回のPUTリクエストでアップロードできる容量が最大5GBのため。 MultipartUploaderを使ってアップロードすると解決できる・・・はず(まだ試してません)

参考: qiita.com

MultipartUploaderのサンプルコード: gist.github.com

IntelliJ系のIDEで.gitignoreでignoreしているはずのファイルの差分が出る

Version ControlのWindowとかに差分が出て、なぜ・・・となった。原因はそのファイルがStagingにaddされているため。 Stagingから除くと差分も出なくなる。 IDE上だとStagingされてるかどうか表示されないのでなかなか気付けなかった。。