关于WebRequest一个例子
' VB Document
Imports System
Imports System.Web
Imports System.IO
Imports Microsoft.VisualBasic
Imports System.Web.HttpContext
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Text
Imports System.Text.RegularExpressions
Imports System.Net
Namespace brands
public Class brand
Function RemoveHTML(strhtml)
if strhtml<>"" then
dim s_str as string
s_str=regex.replace(strHTML,"<[^>]+>","")
s_str=replace(s_str," ","")
return s_str
end if
End Function
Function china_to_english(texts,languages)
Dim payload As String = "hl=zh-CN&ie=UTF8&text="& texts &"&langpair="& languages &""
dim str_return as string
Dim req As WebRequest = WebRequest.Create("http://translate.google.com/translate_t") ' 开始取连接.
req.Credentials = CredentialCache.DefaultCredentials '取得默认
req.Method = "POST" '以POST方式发送,这里默认是以GET方式发送
req.ContentType = "application/x-www-form-urlencoded" 'POST方式需在传送这个编码,如果上传文件,则修为multipart/form-data
req.timeout=10000 '连接超时定时
req.ContentLength = payload.Length '头部长度
Dim encoding As Encoding = Encoding.GetEncoding("UTF-8") '转换成流,大部网站一般转换成UTF-8就可以了,注意是大写的编码
Dim bytes As Byte() = Encoding.GetBytes(payload) '转换成流
req.ContentLength = bytes.Length '传送流的长度
Dim newStream As Stream = req.GetRequestStream() '转换写入
newStream.Write(bytes, 0, bytes.Length) '写入传送流
newStream.Close() '关闭
'上面发送完成,下面取得服务器返回
Dim res As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse) ' 传递返回标识
if res.StatusDescription="ok" then ' 返回取得状态.
current.response.write("暂时无法连接到网站,请换用另一个程序")
current.response.end()
end if
Dim dataStream As Stream = res.GetResponseStream() ' 返回给指针
Dim reader As New StreamReader(dataStream,encoding.getencoding("gb2312")) ' 读
Dim responseFromServer As String = reader.ReadToEnd() ' 读取所有
str_return=responseFromServer '赋值回传
reader.Close() '接下来三个关闭
dataStream.Close()
res.Close()
dim ss as string = str_return
ss = regex.replace(ss,"(?i:(.+)(\<div)(.+)(\>)(.+)(\<\/div\>)(.+))","$5") '提取我们所要的译文
ss = RemoveHTML(ss) '删除HTML
ss = ss.substring(3) '删除翻译二字
return ss '函数返回
End function
End Class
End Namespace

浙公网安备 33010602011771号