网页500错误怎么解决_系统报500错误解决方法

网页500错误怎么解决_系统报500错误解决方法1.问题描述2.问题解决3.HTTP请求代码1.问题描述1.使用http方式请求对方服务器,返回JSON格式数据2.由于是测试环境,网段不是同一个,对方服务器网段做了代理,我们能ping通,也能telnet3.使用浏览器访问能正常返回JSON格式数据4.用代码解析http请求一直报500错误,对方觉得是我们代码问题,但是我们用代码解析公网上的一些请求是正常的;而且…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.问题描述

1.使用http方式请求对方服务器,返回JSON格式数据
2.由于是测试环境,网段不是同一个,对方服务器网段做了代理,我们能ping通,也能telnet
3.使用浏览器访问能正常返回JSON格式数据
4.用代码解析http请求一直报500错误,对方觉得是我们代码问题,但是我们用代码解析公网上的一些请求是正常的;而且我们将代码发给对方,让对方解析,也是正常的

2.问题解决

由于我们本地看不出什么问题,我们用代码请求,让对方服务器进行抓包调试。
1.对方服务器让我们将请求的Content-Type改为application/json,请求仍然有问题
Error-Reason:CHARACTER:error="json"; error_description*=UTF-8''Expected one of: <<{,[>> but got: <<C>>
2.对方查了下,发现服务器Content-Type填什么都报错,application/x-www-form-urlencoded、application/json都报错,只有不填才能正确,空串也不行;我们就说http请求头有个默认值就是x-www-form-urlencoded,对方服务器端改了这个Content-Type的请求头,我们代码就能正常访问到JSON数据了

3.HTTP请求代码

public static String sendGet(String url, String param) {  
       String result = "";
       BufferedReader in = null;
       try {
           String urlName = url + "?" + param;
           URL realUrl = new URL(urlName);
           // 打开和URL之间的连接
           URLConnection conn = realUrl.openConnection();
           // 设置通用的请求属性
           conn.setRequestProperty("accept", "*/*");
           conn.setRequestProperty("connection", "Keep-Alive");
           conn.setRequestProperty("user-agent",
                   "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
           // 建立实际的连接
           conn.connect();
           // 获取所有响应头字段
           Map<String, List<String>> map = conn.getHeaderFields();
           // 遍历所有的响应头字段
           for (String key : map.keySet()) {
               System.out.println(key + "--->" + map.get(key));
           }
           // 定义BufferedReader输入流来读取URL的响应
           in = new BufferedReader(
                   new InputStreamReader(conn.getInputStream(),"UTF-8"));
           String line;
           while ((line = in.readLine()) != null) {
               result += line;
           }
       } catch (Exception e) {
           System.out.println("发送GET请求出现异常!" + e);
           e.printStackTrace();
       }
       // 使用finally块来关闭输入流
       finally {
           try {
               if (in != null) {
                   in.close();
               }
           } catch (IOException ex) {
               ex.printStackTrace();
           }
       }
       return result;
   }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169815.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle优化器统计信息相关

    优化器使用统计信息来生成每个sql语句最优的执行计划。准确的统计信息对于数据库的效率至关重要。dba和程序开发人员都应该了解一些统计信息相关知识,这可以使你更好的理解为什么会生成一个你看到的执行计划,知其然且知其所以然。

    2022年4月8日
    34
  • 什么是WSDL_wsdl文件详解

    什么是WSDL_wsdl文件详解WSDL(网络服务描述语言,WebServicesDescriptionLanguage)是一门基于XML的语言,用于描述WebServices以及如何对它们进行访问。wsdl:definitionsname=”nmtoken”?targetNamespace=”uri”>importnamespace=”uri”location=”uri”/>*

    2022年10月23日
    0
  • 第一次面试实习生经历

    第一次面试实习生经历

    2022年2月3日
    36
  • 万字详解,Hadoop大数据技术简介及 伪分布式集群搭建快速入门教程

    万字详解,Hadoop大数据技术简介及 伪分布式集群搭建快速入门教程在大学时学习Hadoop大数据技术的时候,安装配置Hadoop框架,发现找的一些资料介绍得不够详细,比如一些路径的变化没有说清楚,这对于初学者来说是不够友好的,所以在这里做个详细总结介绍一下Hadoop框架,以及Ubuntu版本的Hadoop伪分布式的安装配置。

    2022年6月14日
    40
  • pcharm激活码_通用破解码

    pcharm激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    67
  • rgbd slam_RGB模型

    rgbd slam_RGB模型本文采用高博大佬的代码来跑kinectv1获取的彩色图和深度图。首先是获取彩色图和深度图的代码:#include&lt;windows.h&gt;#include&lt;iostream&gt;#include&lt;NuiApi.h&gt;#include&lt;opencv2/opencv.hpp&gt;#include&lt;string.h&gt;usin…

    2022年9月18日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号