以编程方式获得qq历史个性签名

qq的个性签名是以xml的形式保存起来的。
地址是: http://e.qzone.qq.com/cgi-bin/cgi_emotion_indexlist.cgi?uin=qq号码&emotionarchive=-1(或者1)
通过对该地址的请求,可以得到一个xml的文件,这个文件就是qq历史的个性签名。

该程序使用的是vb.net语言.
代码如下代码如下:
首先使用webrequest请求数据,得到的是xml的格式的流,然后把流读进dataset里在显示出来。
据我自己分析,该地址最后的参数-1和1,分别是最近的和之前的记录,我们为了得到全部内容,所以分两个
请求,分别得到两个xml,然后再将他们合并成一个dataset。

代码如下:


Dim  myreq  As  WebRequest  =  WebRequest.Create(Strings.Format(TextBox1.Text,  " http://e.qzone.qq.com/cgi-bin/cgi_emotion_indexlist.cgi?uin={0}&emotionarchive=-1 " ))
        
Dim  myres  As  WebResponse  =  myreq.GetResponse
        
Dim  xmlstream  As  Stream  =  myres.GetResponseStream
        
Dim  ds  As   New  DataSet
        ds.ReadXml(xmlstream)
        
Dim  myreq1  As  WebRequest =  WebRequest.Create(Strings.Format(TextBox1.Text, " http://e.qzone.qq.com/cgi-bin/cgi_emotion_indexlist.cgi?uin={0}&emotionarchive=1 " ))
        
Dim  myres1  As  WebResponse  =  myreq1.GetResponse
        
Dim  xmlstream1  As  Stream  =  myres1.GetResponseStream
        
Dim  ds1  As   New  DataSet
        ds1.ReadXml(xmlstream1)
        ds.Merge(ds1)
        
Try
            
For  i  As   Integer   =   0   To  ds.Tables( 2 ).Rows.Count  -   1
                
Dim   str ()  As   Object   =  ds.Tables( 2 ).Rows.Item(i).ItemArray
                
Dim  text  As   String   =   str ( 0 ).ToString  +   str ( 1 ).ToString  +  vbCrLf  +   " -------------------------------------- "   +  vbCrLf
                RichTextBox1.AppendText(text)
            
Next
        
Catch
            
MsgBox ( " have a error! " )
        
Finally
            ds.Dispose()
            ds1.Dispose()
        
End   Try

你可能感兴趣的:(以编程方式获得qq历史个性签名)