: 당신은 Windows 방화벽을 트리거에 자신의 컴퓨터에서 연결 http://wqweto.wordpress.com/2011/07/12/vb6-using-wininet-to-post-binary-file/
Private Sub pvPostFile(sUrl As String, sFileName As String, Optional ByVal bAsync As Boolean)
Const STR_BOUNDARY As String = "3fbd04f5-b1ed-4060-99b9-fca7ff59c113"
Dim nFile As Integer
Dim baBuffer() As Byte
Dim sPostData As String
'--- read file
nFile = FreeFile
Open sFileName For Binary Access Read As nFile
If LOF(nFile) > 0 Then
ReDim baBuffer(0 To LOF(nFile) - 1) As Byte
Get nFile, , baBuffer
sPostData = StrConv(baBuffer, vbUnicode)
End If
Close nFile
'--- prepare body
sPostData = "--" & STR_BOUNDARY & vbCrLf & _
"Content-Disposition: form-data; name=""uploadfile""; filename=""" & Mid$(sFileName, InStrRev(sFileName, "\") + 1) & """" & vbCrLf & _
"Content-Type: application/octet-stream" & vbCrLf & vbCrLf & _
sPostData & vbCrLf & _
"--" & STR_BOUNDARY & "--"
'--- post
With CreateObject("Microsoft.XMLHTTP")
.Open "POST", sUrl, bAsync
.SetRequestHeader "Content-Type", "multipart/form-data; boundary=" & STR_BOUNDARY
.Send pvToByteArray(sPostData)
End With
End Sub
Private Function pvToByteArray(sText As String) As Byte()
pvToByteArray = StrConv(sText, vbFromUnicode)
End Function
출처
2012-05-02 19:57:24
wqw
모든 종류의, 나는 생각한다. Windows 방화벽 응답을 트리거하지 않을 수있는 유일한 방법은 포트 80에서 HTTP 요청을 시도했지만 Windows 방화벽을 트리거 할 수도 있습니다. 방화벽은 앱이 이상한 일을 할 수 없도록해야합니다. 예를 들어 사용자에게 경고하지 않고 HTTP 요청을하도록 허용하는 경우 악성 프로그램이 HTTP GET 요청을 통해 악성 파일을 다운로드하여 사용자의 컴퓨터를 손상시킬 수 있습니다. 그렇게하면 Windows 방화벽이 실행됩니다. – moowiz2020
@ moowiz2020 : 앱 및 필요한 포트의 Windows 방화벽에 예외를 추가하기 만하면 되나요? – CJ7
기본적으로 그렇습니다. 그래서 이메일이나 HTTP 게시물을 보내는 것이 쉬울 것이라고 생각합니다. 전자 메일이나 HTTP 요청을 보내려고하면 응용 프로그램이 인터넷에 액세스 할 수 있도록 할 것인지 묻는 Windows 방화벽 창이 팝업됩니다. 이 중 어떤 것도 실제로 테스트하지 않았으므로 문제가있을 수 있습니다. – moowiz2020