当前位置: 首页 > 面试题库 >

使用用户名和密码发送POST请求并保存会话cookie

西门威
2023-03-14
问题内容

发送带有用户名和密码的POST请求后,如何使用Jsoup保存cookie?还是我必须先将它们提供给连接对象然后保存?


问题答案:

假设HTML表单如下所示:

<form action="http://example.com/login" method="post">
    <input type="text" name="username" />
    <input type="password" name="password" />
    <input type="submit" name="login" value="Login" />
</form>

您可以发布它并获取cookie,如下所示:

Response response = Jsoup.connect("http://example.com/login")
    .method(Method.POST)
    .data("username", username)
    .data("password", password)
    .data("login", "Login")
    .execute();
Map<String, String> cookies = response.cookies();
Document document = response.parse(); // If necessary.
// ...

您可以按以下要求将Cookie传递回去:

Document document = Jsoup.connect("http://example.com/user")
    .cookies(cookies)
    .get();
// ...

或者,如果您知道单个Cookie的名称,则:

Document document = Jsoup.connect("http://example.com/user")
    .cookie("SESSIONID", cookies.get("SESSIONID"))
    .get();
// ...


 类似资料:
  • 很抱歉,如果这个问题是重复的,但是我在StackOverflow中尝试了几个解决方案,仍然无法发送SOAP请求。 我目前的情况是我的java应用程序需要向我的客户Web服务发送SOAP请求,这是我在SOAP UI中成功完成的,用户名,密码,身份验证类型:抢先。请看图片 现在我想在Java这样做,我已经创建了SOAP信封,没有设置密码,响应与SOAP UI中使用无身份验证完全相同,这意味着java代

  • 问题内容: 只是知道,是否可以通过Ajax请求安全地发送密码? 我有一个登录框,它调用ajax请求来尝试登录/传递并检索带有错误(如果有)的JSON对象。 我应该改用表单重定向吗? [编辑] 将加密的密码存储在数据库中不是解决方案,因为ajax发送的登录名和密码是访问数据库本身(内部应用程序)的登录名/密码。 问题答案: 发送第三方无法拦截的内容的唯一方法是使用HTTPS而不是常规HTTP。这样,

  • 问题内容: 让我们假设这个网址… (此处的ID需要在POST请求中发送) 我想将其发送到服务器的,该服务器在POST方法中接受它。 如何在Java中执行此操作? 我尝试了这个: 但是我仍然不知道如何通过POST发送 问题答案: 由于原始答案中的某些类已在Apache HTTP Components的较新版本中弃用,因此,我将发布此更新。 顺便说一句,你可以在此处访问完整的文档以获取更多示例。

  • 问题内容: 我不想使用文件,但是只有django才需要发出POST请求。 就像发送请求一样。 问题答案: 结合使用urllib2和urllib中的方法即可解决问题。这是我使用这两种方法发布数据的方式: 是用于打开URL的方法。 将参数转换为百分比编码的字符串。

  • 我正试图根据以下代码发出post请求: 在Postman,此请求工作正常,不需要身份验证,无需登录名、密码或令牌即可工作。但是,上面的代码不起作用。 日志控制台的一部分如下: 我无法粘贴整个stacktrace,因为stackoverflow平台不允许。

  • 我正在使用截击与API交互。我需要向返回JSON数组的服务发送post请求(带参数)。 JsonObjectRequest有一个构造函数,它接受一个方法和一组参数 但是JSONArrayRequest(我需要的一个)只有一个构造函数的形式 我如何才能使其发送包含数据的POST请求?