开发者社区> 问答> 正文

HttpURLConnection无法连接某个网站API,什么原因?

急求救~我们公司使用了销售易crm的产品,crm开放API,最近因为做点分析,把数据取过来这边,前两周还好好的。这几天突然连接不了,我问了那边公司的人,他们开放接口给N多家公司,但是其他人没问题。
所报错误:
screenshot
部分代码:

public static String getAccessToken() {
     //url  新浪和百度的可以连接返回数据,第三个str无法连接
     //String str="http://hq.sinajs.cn/list=s_sz399001";
     // String str="http://www.baidu.com";
  
     //String str="https://api.xiaoshouyi.com/authorize/token";
           
          try { 
          URL url=new URL(str); 
           
         HttpURLConnection  con=(HttpURLConnection) url.openConnection();
           
          con.setDoOutput(true);// 使用 URL 连接进行输出 <span></span>con.setDoInput(true);// 使用 URL
          con.setUseCaches(false);// 忽略缓存
          con.setRequestMethod("POST");// 设置URL请求方法
           
          //设置属性
          con.setRequestProperty("Content-Type",
          "application/x-www-form-urlencoded"); //application/octet-stream
          con.setRequestProperty("Charset", "utf-8"); 
          con.connect();          //此处报错,下面的没有运行。
           
          DataOutputStream out =new DataOutputStream(con.getOutputStream());
          out.writeBytes("app_key=7QCqk2WPLkQ=&username=qwj@pci-suntektech.com&password=pci@suntek1601053gYYhv6f"); 
          out.flush(); 
          out.close();
           
          InputStream in= con.getInputStream();
          BufferedReader br=new BufferedReader(new InputStreamReader(in, "utf-8"));
          StringBuffer sb=new StringBuffer();
          String l;
            while ((l = br.readLine()) != null) {
                sb.append(l);
            }
            System.out.println(sb.toString());
            return sb.toString();
          }
          catch(Exception e){
            e.printStackTrace();
          }
          return null;

我已经尝试过的方法:
1、刚开始觉得是公司代理的原因,所以尝试不适用代理,或者换成另一个代理,均不行
2、觉得是销售易API的原因,我尝试连接了新浪和百度,能成功返回数据(也说明我网络畅通,只是单单连不了销售易API),于是联系对方开发人员,他们自己可以连接API,而且保守估计他们都实施几十几百家公司,其他公司都没问题,如果有问题早闹了,肯定马上解决的,不会一连几天,所以排除对方问题。
3、排除是验证出错,要连接上才开始验证APP_KEY,username,password等信息,现在根本连不上对方接口。
排除掉这些,只剩下错误信息,有点怀疑是系统问题,比如把对方网址加入黑名单了或者什么的,没找到如何解决。有谁能就这个报错信息教教我,感谢大神.

展开
收起
落地花开啦 2016-06-03 17:00:29 3860 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    是JDK的问题,JDK6使用https连接时有这个问题,换成JDK7,试一下可否成功

    2019-07-17 19:26:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
CUDA MATH API 立即下载
API PLAYBOOK 立即下载
传统企业的“+互联网”-API服务在京东方的实践 立即下载