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#模擬HTTP請求Post JSONC#HTTPJSON
- iOS 使用form表單形式提交post請求iOSORM
- 提交表單
- form表單使用 btn submit-btn ajax-post方式提交問題。ORMMIT
- Curl模擬提交資料
- 記錄PHP post提交表單匯入mysql中文亂碼的問題PHPMySql
- pre/post gate sim 模擬筆記筆記
- form表單提交方式ORM
- C# exe上傳檔案和提交表單資料的方法C#
- Linux curl 命令模擬 POST/GET 請求Linux
- js表單檔案提交JS
- Ajax 提交表單資料
- 使用postman模擬登陸post請求方法Postman
- post 表單大檔案上傳
- 搜狗站長工具【post請求模擬登入】程式碼分享總結【批量提交搜狗收錄網址】
- java 表單避免重複提交?Java
- jFinal避免表單重複提交
- PHP 防止表單重複提交PHP
- form表單提交注意事項ORM
- 模擬資料支援post, put, delete等http方式deleteHTTP
- jquery中$.get()提交和$.post()提交有區別嗎?jQuery
- 三種 Post 提交資料方式
- C#專案—模擬考試C#
- 如何避免表單的重複提交?
- Spring MVC表單防重複提交SpringMVC
- pbootcms提交留言、提交自定義表單時取消驗證碼boot
- PbootCMS使用者提交表單和調取表單記錄boot
- [NOIP 2024 模擬2]表
- 如何優雅的提交一個表單
- Struts2防止表單重複提交
- jquery ajax方式直接提交整個表單jQuery
- 表單提交出現400錯誤(SSM)SSM
- Vuejs基本知識(十三)【表單的提交】VueJS
- 防止點選enter回車提交表單
- SpringMvc上傳圖片及表單提交(單檔案+實體類引數提交)SpringMVC
- 簡單模擬死鎖
- PHP防止使用者重複提交表單PHP