zoukankan      html  css  js  c++  java
  • 与采集有关的两个小函数

    private static string PostData(string url, string postdata, CookieContainer cookieContainer)
            
    {
                
    string outdata = string.Empty;
                HttpWebRequest request 
    = (HttpWebRequest)WebRequest.Create(url);
                request.ContentType 
    = "application/x-www-form-urlencoded";
                request.ContentLength 
    = postdata.Length;
                request.UserAgent 
    = userAgent;
                request.Method 
    = "POST";
                request.CookieContainer 
    = cookieContainer;
                
    using (Stream inStream = request.GetRequestStream())
                
    {
                    
    using (StreamWriter sw = new StreamWriter(inStream, Encoding.GetEncoding("gb2312")))
                    
    {
                        sw.Write(postdata);
                    }

                }


                HttpWebResponse response 
    = (HttpWebResponse)request.GetResponse();
                response.Cookies 
    = cookieContainer.GetCookies(request.RequestUri);
                
    using (Stream outStream = response.GetResponseStream())
                
    {
                    
    using (StreamReader sr = new StreamReader(outStream, Encoding.GetEncoding("gb2312")))
                    
    {
                        outdata 
    = sr.ReadToEnd();
                    }

                }


                
    return outdata;
            }


            
    private static string GetDate(string url, CookieContainer myCookieContainer)
            
    {
                HttpWebRequest request 
    = (HttpWebRequest)WebRequest.Create(url);
                request.ContentType 
    = "text/html";
                request.Method 
    = "GET";
                request.CookieContainer 
    = myCookieContainer;
                HttpWebResponse response 
    = (HttpWebResponse)request.GetResponse();

                
    string outdata = string.Empty;

                
    if (request.HaveResponse)
                
    {
                    
    foreach (Cookie returnCookie in response.Cookies)
                    
    {
                        
    bool cookieFound = false;

                        
    foreach (Cookie oldCookie in myCookieContainer.GetCookies(request.RequestUri))
                        
    {
                            
    if (returnCookie.Name.Equals(oldCookie.Name))
                            
    {
                                oldCookie.Value 
    = returnCookie.Value;
                                cookieFound 
    = true;
                            }

                        }


                        
    if (!cookieFound)
                            myCookieContainer.Add(returnCookie);
                    }

                }


                
    using (Stream outStream = response.GetResponseStream())
                
    {
                    
    using (StreamReader sr = new StreamReader(outStream, Encoding.GetEncoding("gb2312")))
                    
    {
                        outdata 
    = sr.ReadToEnd();
                    }

                }


                
    return outdata;
            }
  • 相关阅读:
    2020面向对象程序设计寒假作业2 题解
    题解 P3372 【【模板】线段树 1】
    Global variant VS local variant
    u2u
    深入浅出PowerShell系列
    深入浅出WF系列
    debug
    深入浅出SharePoint系列
    InfoPath debug
    深入浅出Nintex系列
  • 原文地址:https://www.cnblogs.com/afxcn/p/775945.html
Copyright © 2011-2022 走看看