teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2023/11/17 04:24

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -7,4 +7,4 @@
7
7
  あるいは代わりに[HttpAddRequestHeadersW](https://learn.microsoft.com/ja-jp/windows/win32/api/wininet/nf-wininet-httpaddrequestheadersw)を利用することを検討してみてください。
8
8
  具体的なコード例としては[Setting Multiple Headers for HttpSendRequest](https://parogram.wordpress.com/2014/06/04/setting-multiple-headers-for-httpsendrequest/)が参考になると思います。
9
9
 
10
- あと単なる感想ですが、URLに`CT2A`を適用していたり、途中で`const char*`があったり、クラス名が`CMyTimer`だったりと、全体的に**危うい**コードだな、と思いました。
10
+ あと単なる感想ですが、URLに`CT2A`を適用していたり、途中で`const char*`があったり、クラス名が`CMyTimer`だったり、HTTP_QUERY_STATUS_CODEの戻り値して2や5を期待していたりと、全体的に**危うい**コードだな、と思いました。

2

追記

2023/11/17 04:21

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -6,3 +6,5 @@
6
6
  [HttpSendRequest](https://learn.microsoft.com/ja-jp/windows/win32/api/wininet/nf-wininet-httpsendrequestw)呼出前の`nContentTypeLen`のコードの意図が分からないのですが、`-1`を指定すればNUL終端文字列として内部で計算してくれます。
7
7
  あるいは代わりに[HttpAddRequestHeadersW](https://learn.microsoft.com/ja-jp/windows/win32/api/wininet/nf-wininet-httpaddrequestheadersw)を利用することを検討してみてください。
8
8
  具体的なコード例としては[Setting Multiple Headers for HttpSendRequest](https://parogram.wordpress.com/2014/06/04/setting-multiple-headers-for-httpsendrequest/)が参考になると思います。
9
+
10
+ あと単なる感想ですが、URLに`CT2A`を適用していたり、途中で`const char*`があったり、クラス名が`CMyTimer`だったりと、全体的に**危うい**コードだな、と思いました。

1

追記

2023/11/17 01:15

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -1,3 +1,8 @@
1
1
  ちゃんと流れを追えていませんが、`CT2A( strBody )`だと意図に反してエンコーディングはCP932になっていると思います。
2
2
  代わりに`CT2A( strBody, CP_UTF8)`と明示的にUTF-8'を指定すると正しくエンコードできると思います。
3
3
  参考:[文字コードの変換](http://koolgeeks.seesaa.net/article/193047030.html)
4
+
5
+ # 追記
6
+ [HttpSendRequest](https://learn.microsoft.com/ja-jp/windows/win32/api/wininet/nf-wininet-httpsendrequestw)呼出前の`nContentTypeLen`のコードの意図が分からないのですが、`-1`を指定すればNUL終端文字列として内部で計算してくれます。
7
+ あるいは代わりに[HttpAddRequestHeadersW](https://learn.microsoft.com/ja-jp/windows/win32/api/wininet/nf-wininet-httpaddrequestheadersw)を利用することを検討してみてください。
8
+ 具体的なコード例としては[Setting Multiple Headers for HttpSendRequest](https://parogram.wordpress.com/2014/06/04/setting-multiple-headers-for-httpsendrequest/)が参考になると思います。