0
WindowsアプリケーションからWebサーバーにデータを送信したい。 まず、URLパラメータでデータを送信していましたが、URLの長さの制限により、大きなデータで失敗していました。それから私はファイルのアップロードのようなデータを送信しようとしましたが、私のデータはファイルではありません。非常に長い文字列(約4k文字)です。 インターネット上のファイルアップロードチュートリアルでFileStreamをバイト配列に置き換えましたが、サーバ側の$_FILES
変数は空の配列です。 ここに私のコードです。HTTPWebRequestファイル
Sub sendData(ByVal data As String)
Dim enc_data As String = EncryptRJ256(data)
Dim byteData() As Byte = Encoding.UTF8.GetBytes(enc_data)
Dim postReq As HttpWebRequest = WebRequest.Create("http://example.com")
postReq.Method = "POST"
postReq.KeepAlive = True
postReq.AllowWriteStreamBuffering = True
postReq.ContentLength = byteData.Length
Dim postreqstream As Stream = postReq.GetRequestStream()
postreqstream.Write(byteData, 0, byteData.Length)
postreqstream.Close()
Dim postresponse As HttpWebResponse
postresponse = postReq.GetResponse()
Dim postreqreader As New StreamReader(postresponse.GetResponseStream())
Dim thepage As String = postreqreader.ReadToEnd
File.WriteAllText("C:\Users\kenar\Desktop\response.txt", thepage)
End Sub
サーバー側には何も表示されません。私はApache Webサーバーを使用して、$_FILES
のPHPスクリプトの変数をチェックしています。