java httpsurlconnection 如何影响我的电脑?

问题描述 投票:0回答:1

我正在开发一个C# httpwebrequest,通过发送编码为https协议中的链接的ID和PW值来接收登录的会话值和其他返回值。

如果登录成功,会返回特定的cookie。 但是,无论我对 C# httpwebrequest 做什么,cookie 都没有返回。 即使使用 python 请求,也没有返回。 对比chrome浏览器网络记录,发送的内容和标题都是正确的。

之后使用java httpsurlconnection

使用上面的链接请求具有相同标头和内容的 POST 方法

登录成功,登录正确完成,并返回特定的cookie。 我很高兴,但是在 java httpsurlconnection 成功之后,我必须知道为什么 httpsurlconnection 成功。

即使我用 C# httpwebrequest 和 python requests 再次尝试,这不起作用,但在 java httpsurlconnection 成功后我可以正常登录...为什么..

我试图研究为什么它不起作用,但我很尴尬。

java httpsurlconnection 如何影响我的电脑?

我英语说得不太好..谢谢你的阅读。

通过发送 post 请求,我试图接收登录完成后返回的特定 cookie。 我一直在使用 c# httpwebrequest、python requests 但没有得到我想要的结果。 最后,让我们使用 java httpsurlconnection 并获得所需的结果。

sockets security ssl https layer
1个回答
0
投票

开始之前,来自 dotnet API 文档

WebRequest、HttpWebRequest、ServicePoint 和 WebClient 已过时,您不应该将它们用于新开发。请改用 HttpClient。

您应该提供

HttpClientHandler
CookieContainer
UseCookies = true
HttpClient
才能使用 cookie。

例如,我使用 csharprepl 来使用和可视化结果。

> var cookieContainer = new CookieContainer();
> var handler = new HttpClientHandler
  {
      CookieContainer = cookieContainer,
      UseCookies = true,
  };
> var client = new HttpClient(handler);
> var response = await client.GetAsync("https://google.com/");
> cookieContainer.GetAllCookies()
CookieCollection(2)
┌──────┬──────────────────────────────────────────────────────────────────────────────────┬────────┐
│ Name │ Value                                                                            │ Type   │
├──────┼──────────────────────────────────────────────────────────────────────────────────┼────────┤
│ [0]  │ AEC=[REDACTED]                                                                   │ Cookie │
│ [1]  │ NID=[REDACTED]                                                                   │ Cookie │
└──────┴──────────────────────────────────────────────────────────────────────────────────┴────────┘
© www.soinside.com 2019 - 2024. All rights reserved.