ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-Httpclient / JSONObject

2019-12-01 20:04:06  阅读:247  来源: 互联网

标签:autologin httpclient json java


我正在尝试自动登录发送JSONObject.我收到的回赠为302临时移动,这意味着我应该重定向到另一个URL.但是我的response.toString()显示“位置:/”.下面是代码.

String input_text = "https://www.hautelook.com/v3/credential";
HttpPost httpost = new HttpPost(input_text);
String data =  "{\"screen_resolution\":{\"height\":1080,\"width\":1920}}";

JSONObject jo=new JSONObject();
jo.put("email","sfhgfjk");
jo.put("passsword","dfjhsdkj");
jo.put("meta",data);

StringEntity se = new StringEntity( "JSON: " + json.toString());  
se.setContentEncoding("UTF-8");
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httpost.setEntity(se);

HttpResponse  response = httpclient.execute(httpost);
entity  = response.getEntity();

怎么了

这就是回应.

response HTTP/1.1 302 Moved Temporarily [Server: nginx, Content-Type: text/html,
 Location: /, Content-Encoding: gzip, Content-Length: 20, Expires: Thu, 16 Feb 2
012 19:07:55 GMT, Cache-Control: max-age=0, no-cache, no-store, Pragma: no-cache
, Date: Thu, 16 Feb 2012 19:07:55 GMT, Connection: keep-alive, Set-Cookie: PHPSE
SSID=vmoqeksits8ccukvnf7k4rdv75; path=/]

解决方法:

您始终可以通过CURL甚至您的浏览器发出请求,手动验证这是否正确.例如,在浏览器位置栏中输入https://www.hautelook.com/v3/credential会导致重定向到https://www.hautelook.com(jQuery会显示一个漂亮的小登录对话框).因此,至少您知道行为是一致的.

这可能意味着以下几件事之一:

>您使用的端点不正确(这可能不是
案件)
>您提供的验证信息不正确(也
不太可能,因为在这种情况下,我们预计会有未经授权的401)
>您传递认证信息的方式不正确.

在不了解有关API的更多信息的情况下,很难说,但是您应该再次查阅文档,以确保正确进行调用.

*编辑*

好的,使用REST客户端进行了测试,您的代码中有一些需要纠正的地方:

>将“密码”更改为“密码”
>更改行:

原版的:

new StringEntity( "JSON: " + json.toString())

至:

new StringEntity(json.toString())

尽管我仍然不确定这是正确的端点,但这应该允许请求通过,因为我返回了HTML页面.最后一件事,在将代码发布到SO之前删除API凭据总是很有益的.我在下面提供了该请求的屏幕截图:

标签:autologin,httpclient,json,java
来源: https://codeday.me/bug/20191201/2082971.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有