windowsのpowershellでcurlを実行する際の注意点を紹介します。
google.co.jp宛てにcurlしてみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
PS C:\Users> curl google.co.jp StatusCode : 200 StatusDescription : OK Content : <!doctype html>; outerText=; tagName=IMG; id=hplogo; style =PADDING-BOTTOM: 14px; PADDING-TOP: 28px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; alt=Google; src=/i mages/branding/googlelogo/1x/googlelogo_white_background_color_272x92dp.png; width=272; height=92}} InputFields : {@{innerHTML=; innerText=; outerHTML=<input type="hidden" value="ja" name="hl" />; outerText=; tagName=INPU T; type=hidden; value=ja; name=hl}, @{innerHTML=; innerText=; outerHTML=<input type="hidden" value="hp" name="source" />; outerText=; tagName=INPUT; type=hidden; value=hp; name=source}, @{innerHTML=; innerT ext=; outerHTML=<input type="hidden" name="biw" />; outerText=; tagName=INPUT; type=hidden; name=biw}, @{ innerHTML=; innerText=; outerHTML=<input type="hidden" name="bih" />; outerText=; tagName=INPUT; type=hid den; name=bih}...} Links : {@{innerHTML=<span class="gbtb2"></span><span class="gbts">検索</span>; innerText=検索; outerHTML=<span class="gbtb2"></SPAN ><span class="gbts">検索</span></span>; outerText=検索; tagName=A; id=gb_1; class=gbzt gbz0l gbp1; href= https://www.google.co.jp/webhp?tab=ww}, @{innerHTML=<span class="gbtb2"></span><span class="gbts">画像< /SPAN>; innerText=画像; outerHTML=<a id="gb_2" class="gbzt" href="http://www.google.co.jp/imghp?hl=ja&a mp;tab=wi"><span class="gbtb2"></span><span class="gbts">画像</span></a>; outerText=画像; tagName=A; id =gb_2; class=gbzt; href=http://www.google.co.jp/imghp?hl=ja&tab=wi}, @{innerHTML=<span class="gb" tb2=""></span><span class="gbts">マップ</span>; innerText=マップ; outerHTML=<a id="gb_8" class="gbzt" href=" http://maps.google.co.jp/maps?hl=ja&tab=wl"><span class="gbtb2"></span><span class="gbts">マップ</S PAN></span></a>; outerText=マップ; tagName=A; id=gb_8; class=gbzt; href=http://maps.google.co.jp/maps?hl=j a&tab=wl}, @{innerHTML=<span class="gbtb2"></span><span class="gbts">Play</span>; innerText=Play; o uterHTML=<span class="gbtb2"> </span><span class="gbts">Play</span>; outerText=Play; tagName=A; id=gb_78; class=gbzt; href=http s://play.google.com/?hl=ja&tab=w8}...} ParsedHtml : mshtml.HTMLDocumentClass RawContentLength : 49644 PS C:\Users> </span> |
一般的なcurlとはレスポンス内容が異なりますね。
なぜかというと、powershellのcurlが一般的なcurlではなく、リンクになっているからです。
確認してみます。
1 2 3 4 5 6 7 8 9 |
PS C:\Users> Get-Alias curl CommandType Name Version Source ----------- ---- ------- ------ Alias curl -> Invoke-WebRequest PS C:\Users> |
curlが「Invoke-WebRequest」へのエイリアスになっていることがわかります。
じゃあ、一般的なcurlを実行するにはどうすればよいか。
「curl」ではなく、「curl.exe」を実行します。
1 2 3 4 5 6 7 8 9 |
PS C:\Users> curl.exe google.co.jp <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://www.google.co.jp/">here</A>. </BODY></HTML> PS C:\Users> |