最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于WebClient實現(xiàn)Http協(xié)議的Post與Get對網(wǎng)站進行模擬登陸和瀏覽實例

 更新時間:2014年11月15日 11:10:40   投稿:shichen2014  
這篇文章主要介紹了基于WebClient實現(xiàn)Http協(xié)議的Post與Get對網(wǎng)站進行模擬登陸和瀏覽的方法,以實例形式詳細分析了WebClient模擬POST與GET登陸與瀏覽的過程,對于C#項目開發(fā)來說具有不錯的參考借鑒價值,需要的朋友可以參考下

本文實例講述了基于WebClient實現(xiàn)Http協(xié)議的Post與Get對網(wǎng)站進行模擬登陸和瀏覽的方法。分享給大家供大家參考。具體分析如下:

一、問題:

我們在一些場合經(jīng)常需要模擬瀏覽器進行一些操作,比如模擬投票,或者模擬點擊,或者Web游戲外掛。

二、解決方法:

C#中封裝好的WebClient可以在某些要求不算高的場景實現(xiàn)Http的Post和Get。具體請見如下代碼:

復制代碼 代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;

namespace TestCNM
{
    public class WebClientExt
    {
        public string Get(string Url,string Referer, Encoding Encoder,ref string CookieStr)
        {
            string result = "";
 
            WebClient myClient = new WebClient();
            myClient.Headers.Add("Accept: */*");
            myClient.Headers.Add("User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET4.0E; .NET4.0C; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; SE 2.X MetaSr 1.0)");
            myClient.Headers.Add("Accept-Language: zh-cn");
            myClient.Headers.Add("Content-Type: multipart/form-data");
            myClient.Headers.Add("Accept-Encoding: gzip, deflate");
            myClient.Headers.Add("Cache-Control: no-cache");
            if (CookieStr != "")
            {
                myClient.Headers.Add(CookieStr);
            }
            myClient.Encoding = Encoder;
            result = myClient.DownloadString(Url);
            if (CookieStr == "")
            {
                CookieStr = myClient.ResponseHeaders["Set-Cookie"].ToString();
                CookieStr = GetCookie(CookieStr);
            }
            return result;
        }
        public string Post(string Url, string Referer, Encoding Encoder, ref string CookieStr, string Data)
        {
            string result = "";
 
            WebClient myClient = new WebClient();
            myClient.Headers.Add("Accept: */*");
            myClient.Headers.Add("User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET4.0E; .NET4.0C; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; SE 2.X MetaSr 1.0)");
            myClient.Headers.Add("Accept-Language: zh-cn");
            myClient.Headers.Add("Content-Type: multipart/form-data");
            myClient.Headers.Add("Accept-Encoding: gzip, deflate");
            myClient.Headers.Add("Cache-Control: no-cache");
            if (CookieStr != "")
            {
                myClient.Headers.Add(CookieStr);
            }
            myClient.Encoding = Encoder;
            result = myClient.UploadString(Url, Data);
            if (CookieStr == "")
            {
                CookieStr = myClient.ResponseHeaders["Set-Cookie"].ToString();
                CookieStr = GetCookie(CookieStr);
            }
            return result;
        }
        private string GetCookie(string CookieStr)
        {
            string result = "";
 
            string[] myArray = CookieStr.Split(',');
            if (myArray.Count() > 0)
            {
                result = "Cookie: ";
                foreach (var str in myArray)
                {
                    string[] CookieArray = str.Split(';');
                    result += CookieArray[0].Trim();
                    result += "; ";
                }
                result = result.Substring(0, result.Length - 2);
            }
            return result;
        }
    }
}

希望本文所述對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

  • C# 實現(xiàn)Scoket心跳機制的方法

    C# 實現(xiàn)Scoket心跳機制的方法

    這篇文章主要介紹了C# 實現(xiàn)Scoket心跳機制的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • C#讀取靜態(tài)類常量屬性和值的實例講解

    C#讀取靜態(tài)類常量屬性和值的實例講解

    在本篇文章里小編給各位分享的是關(guān)于C#讀取靜態(tài)類常量屬性和值的實例講解,有興趣的朋友們可以學習下。
    2020-03-03
  • C#多線程與異步的區(qū)別詳解

    C#多線程與異步的區(qū)別詳解

    多線程和異步操作兩者都可以達到避免調(diào)用線程阻塞的目的,從而提高軟件的可響應性。甚至有些時候我們就認為多線程和異步操作是等同的概念。但是,多線程和異步操作還是有一些區(qū)別的。而這些區(qū)別造成了使用多線程和異步操作的時機的區(qū)別
    2017-06-06
  • C#/VB.NET 在PDF中添加文件包(Portfolio)的方法

    C#/VB.NET 在PDF中添加文件包(Portfolio)的方法

    這篇文章主要介紹了C#/VB.NET 在PDF中添加文件包(Portfolio)的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-06-06
  • C#簡單配置類及數(shù)據(jù)綁定

    C#簡單配置類及數(shù)據(jù)綁定

    這篇文章主要介紹了C#簡單配置類及數(shù)據(jù)綁定,原理比較簡單,適用于一些小型項目。主要實現(xiàn)保存配置到j(luò)son文件、從文件或?qū)嵗虞d配置類的屬性值、數(shù)據(jù)綁定到界面控件的功能,需要的朋友可以參考一下
    2021-11-11
  • C#?WPF中RadioButton控件的用法及應用場景

    C#?WPF中RadioButton控件的用法及應用場景

    在WPF應用程序中,RadioButton控件是一種常用的用戶界面元素,本文主要介紹了C#?WPF中RadioButton控件的用法及應用場景,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • 詳解C# 不能用于文件名的字符

    詳解C# 不能用于文件名的字符

    在 Windows 有一些字符是不能作為文件名,嘗試重命名一個文件,輸入/ 就可以看到windows 提示的不能作為文件名的字符,那么具體是包括哪些符號不能作為文件名呢?下面小編給大家介紹下
    2018-02-02
  • C# 程序集和反射詳解

    C# 程序集和反射詳解

    本文主要介紹了C# 程序集和反射的相關(guān)知識。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • WPF中下拉框可作選擇項也可以作為只讀文本框使用的方法

    WPF中下拉框可作選擇項也可以作為只讀文本框使用的方法

    這篇文章主要給大家介紹了關(guān)于WPF中下拉框可以選擇項也可以作為只讀文本框使用的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2023-02-02
  • WPF實現(xiàn)XAML轉(zhuǎn)圖片的示例詳解

    WPF實現(xiàn)XAML轉(zhuǎn)圖片的示例詳解

    這篇文章主要為大家詳細介紹了如何利用WPF實現(xiàn)XAML轉(zhuǎn)圖片,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,感興趣的小伙伴可以了解一下
    2022-11-11

最新評論

忻州市| 石城县| 宝应县| 安图县| 淮北市| 平果县| 来安县| 古蔺县| 永泰县| 荆州市| 旬邑县| 石嘴山市| 舟曲县| 保德县| 冀州市| 罗城| 丹东市| 浦城县| 西乡县| 崇左市| 广元市| 庆元县| 江阴市| 白城市| 都兰县| 广南县| 岳西县| 花莲县| 杂多县| 田东县| 凌源市| 玉林市| 织金县| 凤阳县| 鹤庆县| 仙桃市| 沾化县| 鄂托克旗| 古浪县| 彭山县| 铜山县|