用httpclient 请求https,返回400,怎么请求的详情

SummerReign 2018-03-08 10:27:39



登录结果{"body":"","message":"Bad Request","status":400}

感觉是请求缺少了校验,但是不知道怎么完整的请求过程

之前http请求的时候,还可以用wireshark看请求过程,对比一下还可以看自己哪里错了
...全文
1445 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SummerReign 2018-03-08
  • 打赏
  • 举报
回复
String loginurl="https://v4.passport.sohu.com/i/login/101305" String userid=url; String password=md5Util.Pd(passwords); System.out.println(password); String appid="101305"; String callback=""; //登录所需参数 List<NameValuePair> list=new ArrayList<NameValuePair>(); list.add(new BasicNameValuePair("userid", userid)); list.add(new BasicNameValuePair("password", password)); list.add(new BasicNameValuePair("appid", appid)); //list.add(new BasicNameValuePair("callback", callback)); //发送请求 HttpPost httpPost=new HttpPost(loginurl); UrlEncodedFormEntity uefEntity=new UrlEncodedFormEntity(list, "UTF-8"); httpPost.setEntity(uefEntity); //设置头部参数 httpPost.setHeader("Content-Type","text/html;charset=UTF-8"); httpPost.setHeader("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"); //接收相应 CloseableHttpResponse response=httpclient.execute(httpPost, context); System.out.println("状态码"+response.getStatusLine().getStatusCode()); HttpEntity Entity=response.getEntity(); String result=EntityUtils.toString(Entity,"utf-8"); System.out.println("登录结果"+result);
SummerReign 2018-03-08
  • 打赏
  • 举报
回复
引用 2 楼 u011594442 的回复:
少了一步吧,我看你network里面不是先get 一个请求再post么。

难道说是(第二个)
Sunyiban 2018-03-08
  • 打赏
  • 举报
回复
少了一步吧,我看你network里面不是先get 一个请求再post么。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧