
2011年9月18日
Private Sub GetImage()
Try
Dim request As HttpWebRequest = WebRequest.Create("http://www.junjv.com/GetImage")
request.Timeout = 20000
request.ServicePoint.ConnectionLimit = 100
request.ReadWriteTimeout = 30000
request.Method = "GET"
Dim response As HttpWebResponse = request.GetResponse()
If (response.StatusCode <> HttpStatusCode.OK) Then
Exit Sub
End If
Dim resStream As Stream = response.GetResponseStream()
PictureBox1.Image = New Bitmap(resStream) '这个是winform中的控件
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
这个只是获取,就这样获取之后,是没什么用的,因为没有获取对应cookie,所以只能是显示一下
posted @ 2011-09-18 14:03 Konimeter 阅读(56) 评论(0)
编辑
#region 同步通过GET方式发送数据
/// <summary>
/// 通过GET方式发送数据
/// </summary>
/// <param name="Url">url</param>
/// <param name="postDataStr">GET数据</param>
/// <param name="cookie">GET容器</param>
/// <returns></returns>
public string SendDataByGET(string Url, string postDataStr, ref CookieContainer cookie)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url +( postDataStr == "" ? "" : "?") + postDataStr);
if (cookie.Count == 0)
{
request.CookieContainer = new CookieContainer();
cookie = request.CookieContainer;
}
else
{
request.CookieContainer = cookie;
}
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}
#endregion
#region 同步通过POST方式发送数据
/// <summary>
/// 通过POST方式发送数据
/// </summary>
/// <param name="Url">url</param>
/// <param name="postDataStr">Post数据</param>
/// <param name="cookie">Cookie容器</param>
/// <returns></returns>
public string SendDataByPost(string Url,string postDataStr,ref CookieContainer cookie)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
if (cookie.Count == 0)
{
request.CookieContainer = new CookieContainer();
cookie = request.CookieContainer;
}
else
{
request.CookieContainer = cookie;
}
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postDataStr.Length;
Stream myRequestStream = request.GetRequestStream();
StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
myStreamWriter.Write(postDataStr);
myStreamWriter.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString= myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}
#endregion
操作代码
CookieContainer cc=new CookieContainer();
cc.Add(new System.Uri("http://www.baidu.com "), new Cookie("PHPSESSID", "xx"));
string content = web.SendDataByGET("http://www.baidu.com/xx/yy.php","","gbk",ref cc);
MessageBox.Show(content);
我中意用博客园嘅格式睇,所以贴上来,等我搞定我嘅程序,我会贴返vb.net嘅示例
posted @ 2011-09-18 13:38 Konimeter 阅读(80) 评论(0)
编辑
Private Function getSourceHtml() As String
Dim result As String = ""
Try
Dim i As Integer = Int(Rnd(Now.Second) * 10 + 1)
Dim web As New System.Net.WebClient()
web.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
Dim d As Byte() = System.Text.Encoding.UTF8.GetBytes("method=copy&u=123&p=123")
Dim res As Byte() = web.UploadData("www.junjv.com", "POST", d)
result = Encoding.UTF8.GetString(res)
Catch ex As Exception
'MsgBox(ex.Message)
End Try
Return result
End Function
等于http://www.junjv.com/?method=copy&u=123&p=123
posted @ 2011-09-18 01:03 Konimeter 阅读(17) 评论(0)
编辑
主线程中的代码
Dim delegate1 As B3D4D69AF0E1DB8A7B7EE6FDelegate
delegate1 = AddressOf B3D4D69AF0E1DB8A7B7EE6F
Dim ar As System.IAsyncResult
Dim param(2) As Object
param(0) = Me
param(1) = delegate1
ar = delegate1.BeginInvoke(resStr, CallBackB3D4D69AF0E1DB8A7B7EE6FDelegate, param)
耗时的操作代码
Private Function B3D4D69AF0E1DB8A7B7EE6F(ByVal D7B89BE7F84108A1EF3ED31124D049() As String) As DataSet
Dim result As DataSet = Nothing
Try
Dim ws As New SRL.F408C4CE284F489C7B22E2461FE4BFSoapClient()
result = ws.E13F1B91BD3546FA93DC9F0B8CD56B7B(D7B89BE7F84108A1EF3ED31124D049) ‘web service访问,此操作很耗时
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return result
End Function
Delegate Function B3D4D69AF0E1DB8A7B7EE6FDelegate(ByVal D7B89BE7F84108A1EF3ED31124D049() As String) As DataSet ‘一定要定义,否则会出错
callback处理,上面的函数是返回dataset,所以这里线程结束后也是获取dataset
Private CallBackB3D4D69AF0E1DB8A7B7EE6FDelegate As AsyncCallback = AddressOf CallBackB3D4D69AF0E1DB8A7B7EE6F
Sub CallBackB3D4D69AF0E1DB8A7B7EE6F(ByVal ar As IAsyncResult)
Try
Dim delegate1 As B3D4D69AF0E1DB8A7B7EE6FDelegate = ar.AsyncState(1)
Dim r As DataSet = delegate1.EndInvoke(ar) '获取ws结果,然后操作这个结果
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
posted @ 2011-09-18 00:41 Konimeter 阅读(35) 评论(0)
编辑
<connectionStrings>
<add name="wz" connectionString="server=www.junjv.com,1234;database=redlim;User Id=sa;pwd=www.junjv.com" providerName="System.Data.SqlClient"/>
</connectionStrings>
放在configuration节点下
在vb.net中,可以使用如下代码获取:
Dim connStr As String = ConfigurationManager.ConnectionStrings("wz").ConnectionString
posted @ 2011-09-18 00:31 Konimeter 阅读(32) 评论(0)
编辑
Private Function validateClient(ByVal guid As String) As Integer
Dim result As Integer = 0
Try
'读client
Dim client As SqlDataReader
Dim connStr As String = ConfigurationManager.ConnectionStrings("wz").ConnectionString
Dim conn As New SqlConnection(connStr)
Dim cmd As New SqlCommand("redlim_client_getdetailbyguid", conn)
cmd.CommandType = CommandType.StoredProcedure
With cmd.Parameters
.Add(New SqlClient.SqlParameter("@clientguid", guid))
End With
conn.Open()
client = cmd.ExecuteReader
If Not client Is Nothing AndAlso client.HasRows Then
client.Read()
result = Integer.Parse(client("redlimClientState")) '获取client的状态
client.Close()
Else
'无client,新建client
client.Close()
cmd = New SqlCommand("redlim_client_create", conn)
cmd.CommandType = CommandType.StoredProcedure
With cmd.Parameters
.Add(New SqlClient.SqlParameter("@clientguid", guid))
End With
cmd.ExecuteNonQuery()
End If
Catch ex As Exception
End Try
Return result
End Function
posted @ 2011-09-18 00:19 Konimeter 阅读(13) 评论(0)
编辑

2007年9月6日
存储过程中
输入的参数是@guidInput
数据表:table
需要返回@guidInput指定记录的value字段的值(赋值给@value)
select @value=value from table where
guidfield=@guidInput
这样的语句,在不确定的情况下,会导致@value获取null值,请教各位知道是什么原因吗?
出现这样的问题,会让所有决定使用guid作为主键的朋友都要重新思考。
posted @ 2007-09-06 01:56 Konimeter 阅读(832) 评论(0)
编辑