zoukankan      html  css  js  c++  java
  • CentOS7阿里云服务器,python程序requests无法正常post网站(报502)


    问题描述:

        使用jenkins构建接口自动化测试时,发现新增加的接口case不能访问通,会报502错误(本地可以跑通,在测试服就会502)
    解决的思路:
     缩小调试范围(去掉jenkins db环境,将问题集中在一个测试脚本中,删减多余代码,只用十几行代码表现问题 )
    定位到问题:
      centos测试服执行接口测试访问的ip 43.243.234.239
    本地执行接口测试访问的ip 10.2.2.127
    问题解决:
      centos测试服配置host


    具体解决过程:

    问题描述:
    本地是ubuntu系统
    服务器是centos系统

    使用jenkins构建接口自动化测试时,发现新增加的接口case不能访问通,会报502错误

    尝试解决问题
    因当数据存储在db,所以调试case时等待的时间,和调试的代码范围很大(代码很多,看着头疼,也不易定位问题),所以减少调试代码
    做了如下的demo
    缩小调试范围(去掉jenkins db环境,将问题集中在一个测试脚本中,删减多余代码,只用十几行代码表现问题 )

    同一个demo分别在本地和centos服务器上运行,结果:

    import requests
    
    url1 = "http://overseas-appapi-test.xxxx.com/site/index"
    data1 = {"language": "en-us"}
    
    res = requests.get(url1,data1)
    print(res.url)
    print(res.status_code)
    print(res.text)

    在本地执行demo,请求通过
    
    
    在服务器执行demo,报502


    疑惑ing
    因我本地是ubuntu,服务器是centos,所以怀疑难道不同的linux操作系统会对python requests请求造成影响吗?(啊,太小白了,居然会这样想,不过这也说明我对网络,操作系统还需要有很多要了解的知识)

    在网上搜索centos7 执行python requests失败,居然真的找到了和我情况相似的人
    就是这位楼主了
    https://bbs.csdn.net/topics/392505040

    楼主是这样说的
    结帖了,应该是对方的网站禁用了阿里云的IP,我使用代理进行get之后成功了。

    而我查看http返回的状态码,502表示网关错误,是服务器那边处理有问题,心中有这样的疑惑了,我就问了一下我们的项目负责人
    负责人教我用如下的方法分析问题
    
    

    1.在centOS服务器ping测试的域名,查看ip地址

    1 ping overseas-appapi-test.5i5j.com

    这里可以看到ip地址是43.243.234.239 这是阿里云的服务器地址 

    2.在本地ping测试的域名,查看ip地址

    1.在centOS服务器ping测试的域名,查看ip地址

    这里可以看到ip地址是10.2.2.127 这是内网地址 

     

     到这里,我就明白了,原来问题出在ip地址这里

    项目负责人是这样帮我分析的

    所以现在配置hosts地址就可以了

    解决办法:

    (automationVenv) [root@67 automationtest]# nano /etc/hosts
    

      

    再测试一下

    可以正常访问了

    参考

    问题分析与定位:

    :https://bbs.csdn.net/topics/392505040

    centos7配置hosts并使其生效 

    https://www.cnblogs.com/hujichen/p/5414785.html

     不过现在心里还是有个疑问:

    1.为什么内网访问不通时会去访问阿里云?

    2.centOS测试服访问阿里云到阿里云返回502错误,这中间都发生了什么?

    这两个问题是我现在还不能理解的 

    计算机的知识体系很pang 大,编程只是其中之一,如果真的想做好测试,操作系统,网络知识都是非常重要的

  • 相关阅读:
    VS2017gets的使用
    UITableViewCell自定义高度
    登录注册页面的
    监听键盘- KeyBoard
    UITableViewDelete 删除
    UITabView 添加
    navigationbar背景图 设置左右按钮
    Navigation1 PUSH & POP
    母传键老师课堂笔记 -----ViewController的生命周期
    可折叠tableView
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/10984773.html
Copyright © 2011-2022 走看看