通过C#登录网站下载文件

通过C#登录网站下载文件,c#,https,httpwebrequest,C#,Https,Httpwebrequest,我看过其他的例子,它们似乎对我不起作用 以下是手动连接到站点时从fiddler复制的原始帖子: 标题: POST /s/main/?0-1.IFormSubmitListener-html-panels-loginPanel-loginForm HTTP/1.1 Host: za.mysite.com Connection: keep-alive Content-Length: 49 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 Or

我看过其他的例子,它们似乎对我不起作用

以下是手动连接到站点时从fiddler复制的原始帖子:

标题:

POST /s/main/?0-1.IFormSubmitListener-html-panels-loginPanel-loginForm HTTP/1.1
Host: za.mysite.com
Connection: keep-alive
Content-Length: 49
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: https://za.mysite.com
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/85.0.4183.102 Safari/537.36 Edg/85.0.564.51
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://za.mysite.com/s/main/?0
Accept-Encoding: gzip, deflate, br
Accept-Language: fr,fr-FR;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: JSESSIONID=node0rvf5f6tqn20i1soywqfw2x716135.node0; _ga=GA1.2.929405598.1599120773; hubspotutk=20ac1a088f7bea79a1a91c3d14d31c5d; _gid=GA1.2.991340447.1600242951; __hstc=143139690.20ac1a088f7bea79a1a91c3d14d31c5d.1599120774481.1599120774481.1600242952057.2; __hssrc=1; MySiteUser=1; TmsAcceptToS=2; _ga=GA1.3.929405598.1599120773; _gid=GA1.3.991340447.1600242951; ssoSessionId=
参数:

id2_hf_0=&username=myuser&password=mypass&signin=
它返回:

HTTP/1.1 302 Found
Server: nginx/1.10.3 (Ubuntu)
Date: Wed, 16 Sep 2020 12:21:22 GMT
Location: https://za.mysite.com/s/main/
Connection: keep-alive
Set-Cookie: ssoSessionId=72162468604018689; Path=/; Domain=.mysite.com
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: ATTMSP=fb240001; Path=/
Set-Cookie: ATTMSU=befd0001; Path=/
Set-Cookie: MySiteUser=1; Path=/; Expires=Mon, 15-Mar-2021 12:21:22 GMT; Max-Age=15552000
Set-Cookie: ATTMSP=fb240001; Path=/
Set-Cookie: ATTMSU=befd0001; Path=/
Pragma: no-cache
Cache-Control: no-cache, no-store
Content-Length: 0
但是,当我尝试使用普通WebRequest时,会发生以下情况:

职位:

回应

HTTP/1.1 302 Found
Server: nginx/1.10.3 (Ubuntu)
Date: Wed, 16 Sep 2020 12:22:59 GMT
Location: https://za.mysite.com/s/main/;jsessionid=node01vqk2qhmzxrzc2yu05puoyr7w143.node0?0
Connection: keep-alive
Set-Cookie: JSESSIONID=node01vqk2qhmzxrzc2yu05puoyr7w143.node0; Path=/s
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache, no-store
Content-Length: 0

请出示你的密码。另外,使用HttpClient可能比HttpWebRequest更具灵活性。很可能您只需将用户代理添加到c#头中即可。正如您所看到的,Postman中的默认标题与c#不同。所以你只需要让c#看起来像邮递员的头。
HTTP/1.1 302 Found
Server: nginx/1.10.3 (Ubuntu)
Date: Wed, 16 Sep 2020 12:22:59 GMT
Location: https://za.mysite.com/s/main/;jsessionid=node01vqk2qhmzxrzc2yu05puoyr7w143.node0?0
Connection: keep-alive
Set-Cookie: JSESSIONID=node01vqk2qhmzxrzc2yu05puoyr7w143.node0; Path=/s
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache, no-store
Content-Length: 0