PythonのコードをVBかC#に変換したいです。
目的は学習です。
Pythonコードは正常に動作している物で
VBコードは現在動作していない物です。
元のPythonコードと、私が書いたVBコードを載せます。
例外エラーなどは出ず処理は一応実行できますが、動作しない状況です。
私が書いたVBコードはどこが間違えているのかご教示願いたいです。
Python
1import requests 2import json 3# csvファイル取得 4def get_csv(groupcodes, commandbytes): 5 url = 'http://192.168.14.100:7001/testapi/sendbroadcastcommand?groupcodes={}&commandbytes={}'. format(json.dumps(groupcodes), json.dumps(commandbytes)) 6 print(url) 7 headers = { 8 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' 9 } 10 try: 11 response = requests.post(url=url, headers=headers) 12 except Exception as e: 13 print("POST 例外発生!") 14 print(e) 15 return -1 16 if response.status_code != 200: 17 print("POST 応答エラー") 18 return -2 19if __name__ == '__main__': 20 grcd1 = ['A','B'] 21 cmdbyte1 = [4, 17, 0, 234] 22 try: 23 get_csv(grcd1, cmdbyte1) 24 except Exception as e01: 25 print("get_scv()の中に例外発生!") 26 print(e01)
VB
1Imports Newtonsoft.Json 2Public Class Form1 3 Public Class testjson 4 Public Property groupcodes As String 5 Public Property commandbytes As String 6 'Public Property sikaku As String() 7 End Class 8 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 9 Dim ret As Int32 10 'Dim postData As String 11 Dim postDataBytes As Byte() 12 Dim req As System.Net.WebRequest 13 Dim reqStream As System.IO.Stream = Nothing 14 Dim res As System.Net.WebResponse = Nothing 15 Dim resStream As System.IO.Stream = Nothing 16 Dim sr As System.IO.StreamReader = Nothing 17 Try 18 Dim syain1 As testjson = New testjson() 19 syain1.groupcodes = "['A','B']" 20 syain1.commandbytes = "[4, 17, 0, 234]" 21 Dim Json As String = JsonConvert.SerializeObject(syain1) 22 'バイト型配列に変換 23 postDataBytes = System.Text.Encoding.UTF8.GetBytes(Json) 24 'WebRequestの作成 25 req = System.Net.WebRequest.Create("http://192.168.14.100:7001/testapi/sendbroadcastcommand") 26 'メソッドにPOSTを指定 27 req.Method = "POST" 28 'ContentTypeを"application/json"にする 29 req.ContentType = "application/json" 30 ''POST送信するデータの長さを指定 31 req.ContentLength = postDataBytes.Length 32 req.Proxy = Nothing 33 'データをPOST送信するためのStreamを取得 34 reqStream = req.GetRequestStream() 35 '送信するデータを書き込む 36 reqStream.Write(postDataBytes, 0, postDataBytes.Length) 37 ret = 0 38 Catch ex As Exception 39 'エラーコードの設定 40 ret = 100 41 Finally 42 If IsNothing(reqStream) = False Then 43 reqStream.Close() 44 End If 45 If IsNothing(sr) = False Then 46 sr.Close() 47 End If 48 End Try 49 End Sub 50End Class
回答2件
あなたの回答
tips
プレビュー