URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

"Invoke-RestMethod"とかの文字コード

 ここのところ、Windows環境からREST APIを叩くためにPowerShellで"Invoke-WebRequest"や"Invoke-RestMethod"を頻繁に使っています。
 このとき、POSTメソッドとかのBodyに含まれているマルチバイト文字がUTF-8として認識されていなかった。
 基本的なことなんだけど、やり方が分かるまでちょっと苦戦したのでメモ。

 結論としてはデータ型をバイト列にして送ればいい。
 自分はBodyをヒアドキュメントで記述することが多いので、以下のようにエンコードしてPOSTする。

$BodyXml = @" <root> <data1>データ01</data1> <data2>データ02</data2> </root> "@ $Byte = [System.Text.Encoding]::UTF8.GetBytes($BodyXml) $Res = Invoke-RestMethod -Uri "http://localhost/api" -Method POST -Body $Byte

 いつまで経っても文字コードでハマるんだよなぁ…。


    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 29 30 31    

プロフィール

1020@管理人

都内を彷徨っているインフラエンジニアとかいう雑用係。いつだって眠い…。

最近のつぶやき

@umkn1020 (07/09-19:33)
腹の具合が…
@umkn1020 (07/09-15:36)
順調に増えてるなぁ。それでも再自粛はやめてほしいが。
@umkn1020 (07/09-15:35)
RT @NewsDigestWeb: 新型コロナ 東京都で新たに220人以上の感染確認 過去最多 https://t.co/qKhZ4gZl0H
@umkn1020 (07/09-15:33)
RT @ts7i: 最後の晩餐感がすごい。『Web会議「Microsoft Teams」にバーチャルルームに集まれる「Togetherモード」』 https://t.co/NB3OZAFBrZ https://t.co/bmg9PxuNU2
@umkn1020 (07/07-23:28)
メーラーをShurikenからOutlookへ移行中。メール用途だとOutlookが好ましいわけではないけど、O365を使っているからねぇ…

エントリーリスト

カテゴリーリスト

タグ