WSL を使用して Windows に Linux をインストールしている

OS は Ubuntu

 

シェルスクリプトを書く時に重宝している

Windows のバッチファイルやコマンドファイルと比較してシェルスクリプトは強力だ

 

今回は curl コマンドを使いAPIから必要なデータを取得する処理を作っていた

 

cURL が応答なくレスポンスが返らない

Windowsのコマンドプロンプトからたたくとレスポンスが返るためコマンドが原因ではない

 

cURL トラブルシューティング(-vオプションつけて)していて

宛先がIPv6だったため、すわIPv4オプションを付けるも

Tryingで止まってしまう

 

Git Bashでもレスポンス成功するためcurlコマンドではなくWSL上で稼働しているUbuntuに着目した

 

 

 

 

WSLが使っているWinSocketが原因

 

管理者権限 で以下のコマンドを実行

WinSocket、IPインターフェース、プロキシーキャッシュ、DNSキャッシュをクリアし、OS再起動で解消した

netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns