gpt4 book ai didi

java - UrlEncodedFormEntity 在 Apache HttpClient 4 中做什么?

转载 作者:行者123 更新时间:2023-12-02 09:48:50 26 4
gpt4 key购买 nike

如果您想使用参数执行 HTTP Post 并以“x-www-form-urlencoded”内容类型发送它,那么在 Apache HTTP Client 3 中执行此操作的方法是...

    HttpMethod method = new PostMethod(myUrl)

method.setParams(mp)
method.addParameter("user_name", username)
method.addParameter("password", password)

method.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')

int responseCode = httpClient.executeMethod(method)

但是 Apache HTTP Client 4 引入了 UrlEncodedFormEntity 对象,因此执行相同操作的新方法是...

HttpPost post = new HttpPost(url);

List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
urlParameters.add(new BasicNameValuePair("user_name", username));
urlParameters.add(new BasicNameValuePair("password", password));;

post.setEntity(new UrlEncodedFormEntity(urlParameters));

HttpResponse response = client.execute(post);

除了将内容类型设置为“x-www-form-urlencoded”之外,此 UrlEncodedFormEntity 对象还有什么用途?

docs假设它创建了一个“由 url 编码对列表组成的实体”,但这不能仅通过设置内容类型来完成吗?

最佳答案

HttpEntity 接口(interface)是控制如何处理请求/响应正文的顶级接口(interface)。在本例中,您使用的是 UrlEncodedFormEntity,它知道如何对参数进行编码并以所需的格式输出它们。

关于java - UrlEncodedFormEntity 在 Apache HttpClient 4 中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56466139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com