トップ回答者
POSTでデータを送受信に関して

質問
-
お世話になります。
環境:VisualStudio2017
PC:Windows10 Pro64
HTTPサーバーにPOST要求を送信し、返される結果を受信したいと思っております。
ネットにありましたコードを参考に作成致しました。
座標を国土地理院に送信して結果を受け取る事だけですが、送信をを繰り返すとエラーが返信されてしまいます。
エラーが返された場合、数回繰り返すと正常な返信を受け取れます。エラーの回数が多いので回避したいと思っております。宜しくお願い致します。
参考:国土地理院 http://vldb.gsi.go.jp/sokuchi/surveycalc/api_help.html
Url = "http://vldb.gsi.go.jp/sokuchi/surveycalc/patchjgd/patchjgd.php?outputType=xml&chiiki=touhokutaiheiyouoki2011.par&sokuchi=0&Place=1&zone=9&publicX=44039.798&publicY=54090.86"
'文字コードを指定する
Dim enc As System.Text.Encoding =
System.Text.Encoding.GetEncoding("shift_jis")
'POST送信する文字列を作成
Dim postData As String = "id=1&word=" +
System.Web.HttpUtility.UrlEncode("インターネット", enc)
Dim wc As New System.Net.WebClient()
'文字コードを指定する
wc.Encoding = enc
'ヘッダにContent-Typeを加える
wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
'データを送信し、また受信する
resText = wc.UploadString(Url, postData)
wc.Dispose()
- 編集済み POSTでデータを送信 2017年4月26日 2:55
回答
-
挙げられたAPIヘルプページには
HTTP動詞(GET)を使用して、URLにUTF-8で符号化したパラメータを送信する。
とあるにもかかわらず、UTF-8でなく"shift_jis"を選択したり、WebClient.UloadString()による(GETでなく)POSTを行っているように見受けられます。
なお、1秒に1回程度のアクセスで逮捕者が出る前例もありますので、ドキュメントをよく読み正しいリクエストを行うことをお勧めします。
- 回答としてマーク POSTでデータを送信 2017年4月26日 4:01
すべての返信
-
挙げられたAPIヘルプページには
HTTP動詞(GET)を使用して、URLにUTF-8で符号化したパラメータを送信する。
とあるにもかかわらず、UTF-8でなく"shift_jis"を選択したり、WebClient.UloadString()による(GETでなく)POSTを行っているように見受けられます。
なお、1秒に1回程度のアクセスで逮捕者が出る前例もありますので、ドキュメントをよく読み正しいリクエストを行うことをお勧めします。
- 回答としてマーク POSTでデータを送信 2017年4月26日 4:01