C# Post 模擬表單提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 |
/// <summary> /// 向指定的URL地址發起一個POST請求。 /// </summary> /// <param name="url">要請求的URL地址</param> /// <param name="keyvalues">要上傳的資料項</param> /// <returns>伺服器的返回結果</returns> public
static
string
FormdataPost(
string
url, Dictionary<
string
,
string
> keyvalues,
string
Authorization) {
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
if
(
string
.IsNullOrEmpty(url))
throw
new
ArgumentNullException(
"url"
);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method =
"POST"
;
request.KeepAlive =
true
;
request.Headers.Add(
"Authorization"
, Authorization);
//token
string
boundary =
"---------------------------"
+ Guid.NewGuid().ToString(
"N"
);
byte
[] boundaryBytes = Encoding.ASCII.GetBytes(
"\r\n--"
+ boundary +
"\r\n"
);
request.ContentType =
"multipart/form-data; boundary="
+ boundary;
Stream stream = request.GetRequestStream();
byte
[] beginBoundaryBytes = Encoding.UTF8.GetBytes(
"--"
+ boundary +
"\r\n"
);
byte
[] endBoundaryBytes = Encoding.UTF8.GetBytes(
"\r\n--"
+ boundary +
"--\r\n"
);
//寫入引數
if
(keyvalues !=
null
)
{
string
formDataTemplate =
"Content-Disposition: form-data; name=\"{0}\"\r\n\r\n"
+
"{1}\r\n"
;
foreach
(
string
key
in
keyvalues.Keys)
{
string
formItem =
string
.Format(formDataTemplate, key, keyvalues[key]);
byte
[] formItemBytes = Encoding.UTF8.GetBytes(formItem);
stream.Write(beginBoundaryBytes, 0, beginBoundaryBytes.Length);
// 1.1 寫入FormData項的開始邊界符
stream.Write(formItemBytes, 0, formItemBytes.Length);
// 1.2 將鍵值對寫入FormData項中
}
}
boundaryBytes = Encoding.ASCII.GetBytes(
"\r\n--"
+ boundary +
"--\r\n"
);
stream.Write(boundaryBytes, 0, boundaryBytes.Length);
stream.Close();
using
(WebResponse response = request.GetResponse())
{
using
(StreamReader reader =
new
StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
return
reader.ReadToEnd();
}
} } |
可以用
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70034822/viewspace-2991655/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php 模擬POST提交的2種方法PHP
- C#三種模擬自動登入和提交POST資訊的實現方法C#
- C#模擬HTTP請求Post JSONC#HTTPJSON
- iOS 使用form表單形式提交post請求iOSORM
- 三種方法教你如何用PHP模擬post提交資料PHP
- post方式get方式提交表單的主要區別
- JavaScript模擬表單(帶陣列的複雜資料結構)提交JavaScript陣列資料結構
- http模擬from表單提交,進行跨域請求和上傳資源HTTP跨域
- Curl模擬提交資料
- 關於http get和form表單post提交資料大小限制HTTPORM
- C#模擬窗體系統選單C#
- **PHP分步表單提交思路(分頁表單提交)PHP
- form表單使用 btn submit-btn ajax-post方式提交問題。ORMMIT
- pre/post gate sim 模擬筆記筆記
- php表單提交PHP
- javascript提交表單JavaScript
- 記錄PHP post提交表單匯入mysql中文亂碼的問題PHPMySql
- PID除錯軟體(C#、模擬、模擬)除錯C#
- Linux curl 命令模擬 POST/GET 請求Linux
- 使用postman模擬登陸post請求方法Postman
- Python模擬HTTP Post上傳檔案PythonHTTP
- MySQL單表模擬鎖的幾個場景MySql
- C# exe上傳檔案和提交表單資料的方法C#
- Ajax 提交表單資料
- js表單檔案提交JS
- 模擬資料支援post, put, delete等http方式deleteHTTP
- 搜狗站長工具【post請求模擬登入】程式碼分享總結【批量提交搜狗收錄網址】
- jQuery post()方法提交資料jQuery
- vc http post傳參提交HTTP
- C#模擬登入總結C#
- c# 模擬網站登陸C#網站
- C#專案—模擬考試C#
- post 表單大檔案上傳
- POST表單資料大小的限制
- 輕鬆玩轉花樣表單表單提交(轉)
- PHP 防止表單重複提交PHP
- ajax提交表單包括檔案
- PHP表單提交方法彙總PHP