C# 通过具有边界的WebClient发送POST请求
我在通过C#API中的WebClient发送POST请求时遇到问题。 该职位要求如下:C# 通过具有边界的WebClient发送POST请求,c#,.net,post,webkit,webclient,C#,.net,Post,Webkit,Webclient,我在通过C#API中的WebClient发送POST请求时遇到问题。 该职位要求如下: POST http://aaa.com/login.php HTTP/1.1 Host: www.aaa.com Connection: keep-alive Content-Length: 346 Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Origin: h
POST http://aaa.com/login.php HTTP/1.1
Host: www.aaa.com
Connection: keep-alive
Content-Length: 346
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Origin: http://www.aaa.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.152 Safari/537.22
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryK0J3zdRYpjgldAFy
Referer: http://www.turbotrafficbooster.com/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: bg-BG,bg;q=0.8
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3
Cookie: PHPSESSID=b703525853495c9257b3f3ec579c937a
------WebKitFormBoundaryK0J3zdRYpjgldAFy
Content-Disposition: form-data; name="navaction"
login
------WebKitFormBoundaryK0J3zdRYpjgldAFy
Content-Disposition: form-data; name="UserID"
test
------WebKitFormBoundaryK0J3zdRYpjgldAFy
Content-Disposition: form-data; name="Password"
test
------WebKitFormBoundaryK0J3zdRYpjgldAFy--
我知道如何处理诸如用户代理等头文件,但我对边界有问题。我不知道如何放置它们以及放在何处。请参见链接规范中的示例。例如:
Content-Type: multipart/form-data; boundary=AaB03x
--AaB03x
Content-Disposition: form-data; name="submit-name"
Larry
--AaB03x
WebKitFormBoundaryK0J3zdRYpjgldAFy
只是一种惯例。如果您愿意,它可以是MyFoobaredBoundry
,前提是您正确地声明并关闭它。不同的浏览器使用不同的字符串,因此在接收端没有任何区别
但是,这可能不是您必须自己做的事情…您使用什么代码来生成此请求?您甚至需要添加
边界
标题元素吗?你只是复制并粘贴了别人的标题吗?也看看这篇文章:使用Fiddler并在IE中执行相同的操作。你应该能够看到表单数据是如何从跟踪中提交的,并复制格式。可能也有关联,但我不知道如何将其应用到我的答案中。