C 模擬 Http 請求

2021-07-02 00:09:46 字數 3439 閱讀 6170

1.支援 gzip 和 deflate 壓縮方式的響應資訊

2.post 可擴充套件提交檔案

3.可設定**(未測試過)

4.自動判斷響應內容的字符集(簡單判斷,真實情況很複雜,有些無字符集描述的,或者 response.charset 是 iso-**** 頁面是 utf-8 輸出是 gbk ,環境很複雜,只能做到初步判斷與轉換)。

using system.collections.generic;

using system.io;

using system.linq;

using system.net;

using system.text;

using system.text.regularexpressions;

using system.web;

namespace system

; #region post

/// /// 傳送 post 請求,並獲取響應物件

///

/// url

/// 瀏覽器標識

/// post資料主體

/// 頭部資訊

/// **資訊

}/// /// 傳送 post 請求,並獲取響應流

///

/// url

/// 瀏覽器標識

/// 引數

/// 頭部資訊

/// **資訊

///

public static stream postandgetstream(string url, string useagent, dictionaryparam, dictionaryhead, iwebproxy proxy)

/// /// 傳送 post 請求,並獲取響應的 string 值

///

/// url

/// 瀏覽器標識

/// 引數

/// 頭部資訊

/// **資訊

///

public static string postandgetstring(string url, string useagent, dictionaryparam, dictionaryhead, iwebproxy proxy)

#endregion

#region get

/// /// 傳送 get 請求並獲取響應物件

///

/// url

/// 瀏覽器標識

/// 頭部資訊

/// **資訊

/// /// 傳送 get 請求,並獲取響應的 string 值

///

/// 請求的url

/// 瀏覽器標識

/// 傳送的引數

/// 傳送的頭部

/// **資訊

///

public static string getandgetstring(string url, string useagent, dictionaryparam, dictionaryhead, iwebproxy proxy)

/// /// 傳送 get 請求,並獲取響應的流

///

/// 請求的url

/// 瀏覽器標識

/// 傳送的引數

/// 傳送的頭部

/// **資訊

///

public static stream getandgetstream(string url, string useagent, dictionaryparam, dictionaryhead, iwebproxy proxy)

#endregion

#region 通用函式

/// /// 獲取響應流的副本

/// /// 將響應流轉換成 string

/// 自動處理字符集轉換問題(簡單轉換)

}//若沒從結果裡面讀取過 html 的 charset 的,就執行

if (!isreadhtmlcharset)

;foreach (var regexstr in regexstrs)

}catch (exception ex)}}

}}

}return result;

}/// /// 建立 request

///

/// 完整的鏈結位址

/// 頭部資訊

/// 瀏覽器資訊

}/// /// 將引數拼接到 url 之後

///

///

///

///

private static string paraminserttourl(this dictionaryparam, string url)

return url;

}/// /// 鍵值對引數轉成 url 拼接字串,value 將做 urlencode 處理

PHP模擬http請求

方法一 利用php的socket程式設計來直接給介面傳送資料來模擬post的操作。建立兩個檔案post.php,getpost.php post.php內容如下 flag 0 params errno errstr 要post的資料 argv array var1 abc var2 how are ...

php模擬http請求

http請求有get,post。php傳送http請求有三種方式 我所知道的有三種,有其他的告訴我 file get contents 詳情見 curl傳送請求。fsocket傳送。下面說使用curl傳送。首先環境需要配置好curl元件。1 2 3 4 5 6 7 8 9 10 在windows中讓...

python 模擬Http請求

先簡單宣告一下http請求中post和get之間乙個簡單的區別 get請求的資料會附在url之後 就是把資料放置在http協議頭中 以?分割url和傳輸資料,引數之間以 相連,如 login.action?name hyddd password idontknow verify e4 bd a0 e...