-1

我在通过 C# API 中的 WebClient 发送 POST 请求时遇到问题。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: 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--

我知道如何处理用户代理等标题,但我对边界有疑问。我不知道如何放置它们以及在哪里做..

4

1 回答 1

0

在此处查看此答案和链接规范中的示例。例子:

  Content-Type: multipart/form-data; boundary=AaB03x

  --AaB03x   
  Content-Disposition: form-data; name="submit-name"

  Larry   
  --AaB03x

WebKitFormBoundaryK0J3zdRYpjgldAFy只是一个约定。如果您愿意,可以是MyFoobaredBoundry,只要您声明并适当地关闭它。不同的浏览器使用不同的字符串,因此接收端的任何内容都不应该因此而区分。

然而,这可能不是你必须自己做的事情......

于 2013-03-11T20:38:10.317 回答