如何编写通过Proxy访问WWW的VB程序

ninesun 2000-03-09 10:11:00
我使用Inet控件,访问类型是icNamedProxy并设置了Proxy地址和端口,协议为HTTP,当我调用Inet.execute 后,在收到消息icResponseCompleted后调用Inet.GetChunk方法,其返回的值总是:Error:Access is Denied.(可能是该控件使用的本地端口号被Proxy或路由器屏蔽掉了).请高手赐教.
...全文
329 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuhany 2000-08-15
  • 打赏
  • 举报
回复
Hi ninesun :

您好 !

我也遇到类似的问题,我使用Inet控件,访问类型是icNamedProxy并设置了Proxy地址和端口,协议为FTP,当我调用Inet.execute "PWD" 后 得到

Err:12029

ERROR_INTERNET_CANNOT_CONNECT
The attempt to connect to the server failed

而我在IE里使用FTP://*.*.*.* 又可正常使用。

如果你有什么好指教 , 我将不胜感激 !!!

我的E_mail : wuhany@163.net
chengt 2000-08-12
  • 打赏
  • 举报
回复
关注
olo 2000-03-09
  • 打赏
  • 举报
回复
关注
Un1 2000-03-09
  • 打赏
  • 举报
回复
ninesun:
Sorry! 贴错!不好意思。@_@
Un1 2000-03-09
  • 打赏
  • 举报
回复
这样写行不行:

Private Function SetTimeOut() As Boolean
On Error GoTo ErrorHandle

'GetCommTimeouts m_CommID, timeouts
’此超时设置和MSComm控件相同

Dim tos As COMMTIMEOUTS
With tos
.ReadIntervalTimeout = -1
.ReadTotalTimeoutMultiplier = 0
.ReadTotalTimeoutConstant = 0 '10
.WriteTotalTimeoutMultiplier = 0
.WriteTotalTimeoutConstant = 5000
End With
SetTimeOut = SetCommTimeouts(m_CommID, tos)

ErrorHandle:
End Function

Public Property Let PortOpen(ByVal New_PortOpen As Boolean)
If New_PortOpen Then
If m_CommID < 0 Then
Dim l As Long
l = CreateFile("COM" & m_CommPort, GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)
If l = INVALID_HANDLE_VALUE Then
Dim s As String
Select Case Err.LastDllError
Case IE_BADID, 2
s = "无效的端口号。"
Case IE_OPEN, 5
s = "端口已被占用。"
Case IE_MEMORY
s = "不能获取缓冲内存。"
Case IE_DEFAULT
s = "缺省参数错误。"
Case IE_HARDWARE
s = "硬件不支持。"
Case IE_BYTESIZE
s = "不支持此数据位数。"
Case IE_BAUDRATE
s = "不支持此波特率。"
Case Else 'IE_NOPEN
s = "不能打开端口。"
End Select
Err.Raise vbObjectError + ERR_INVALIDPORT, MYNAME, s
Else
m_CommID = l

#If CONBLNMULTI Then
Dim lr As Long
lr = CreateThread(0, 0, AddressOf ThreadProc, ByVal hwnd, 0, l)

#Else
tmTimer.Enabled = True
#End If

If Not SetTimeOut Or SetCommState(m_CommID, m_DCB) = 0 Or _
SetupComm(m_CommID, m_InBufferSize, m_OutBufferSize) = 0 Or _
SetCommMask(m_CommID, &H1FFF) = 0 Then
CanNotSetStateErr
End If
End If
Else
PortOpenedErr
End If
Else
If m_CommID < 0 Then
PortNotOpenErr
Else
Break = False

l = m_CommID
m_CommID = -1

#If CONBLNMULTI Then
DoEvents
#Else
tmTimer.Enabled = False
#End If

CloseHandle l

blnRead = False
blnWrite = False
blnEvents = False

m_CommEvent = 0
strIn = vbNullString
strOut = vbNullString
End If
End If
End Property

Chen_Lin 2000-03-09
  • 打赏
  • 举报
回复
用VC编的,我倒有一个.如果要,可以发信该我.
ninesun 2000-03-09
  • 打赏
  • 举报
回复
Un1:
你给的是串口程序,我要使用的网络端口.

4,354

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧