随笔-97  评论-105  文章-46  trackbacks-1
  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 阅读(63) 评论(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 阅读(83) 评论(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 阅读(21) 评论(0) 编辑

主线程中的代码

 

            Dim delegate1 As B3D4D69AF0E1DB8A7B7EE6FDelegate
            delegate1 
= AddressOf B3D4D69AF0E1DB8A7B7EE6F
            
Dim ar As System.IAsyncResult
            
Dim param(2As Object
            param(
0= Me
            param(
1= delegate1
            ar 
= delegate1.BeginInvoke(resStr, CallBackB3D4D69AF0E1DB8A7B7EE6FDelegate, param)

 

耗时的操作代码

    Private Function B3D4D69AF0E1DB8A7B7EE6F(ByVal D7B89BE7F84108A1EF3ED31124D049() As StringAs 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 StringAs 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 阅读(42) 评论(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 阅读(36) 评论(0) 编辑
    Private Function validateClient(ByVal guid As StringAs 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 阅读(14) 评论(0) 编辑
我的公司:
ShangXun.Net一站式网络服务
昵称:Konimeter
园龄:6年5个月
粉丝:1
关注:1
<2011年9月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

搜索

 
 

常用链接

随笔分类(96)

文章分类(15)

.NET

最新评论

推荐排行榜