当前位置: 首页 > news >正文

电子商务网站建设维护有没有欺骗抓取网站后台

电子商务网站建设维护有没有欺骗,抓取网站后台,淘宝客怎么做的网站推广,建立一个网站如何开通账号事实证明人有的时候也不能太偷懒,太偷懒容易给自己埋坑。 问题的背景: web端调用服务A,服务A异步调用服务B。服务A有四个场景需要调用服务B,所以,服务A中封装了一个公用的方法,唯一的区别是,场…

事实证明人有的时候也不能太偷懒,太偷懒容易给自己埋坑。

问题的背景:

web端调用服务A,服务A异步调用服务B。服务A有四个场景需要调用服务B,所以,服务A中封装了一个公用的方法,唯一的区别是,场景不同时,发给服务B的body不相同,web端通过四个接口调用服务A,服务A组装body信息再调用服务B,只有一种场景报了下面的错误,这个错误看着像是域名解析的问题。但是,理论上不应该存在域名解析的错误,因为,从程序的逻辑看,因为调用B服务的方法是公用的,只有body不一样。

问题定位过程:

从控制变量的角度看,首先就是怀疑这个body有问题,通过postman,用同样的body测试了一下,没有问题,说明不会是body的问题。

只能考虑其他的问题。在web页面调用,然后把curl拷贝出来,直接导入postman测试。这种情况下,postman调用没有出问题。

比对了一下,web端调用的http请求的header和postman调用的http请求的header(虽然是复制过来的,但是,实际请求头还是发生了变化,postman做了处理)。

两者的User-Agent头不一样。

由此,可以推测,因为header导致了这个问题。

解决方案:

有了上面的推测,只要简单验证一下就可以了。由于原来的链路中,服务A请求服务B的过程中,header是直接复制了web端请求服务A时的header,所以,导致了这个问题。

所以,去掉这个复制header的操作,改为按照实际需求传header。

func SendRequest(ctx *gin.Context, url string, reqBody map[string]interface{}, header map[string]string) (string, error) {var err errorreq := &http.Request{}defer func() {if err != nil {global.GIN_LOG.ErrorWithContext(ctx, err)}}()//map转bytereqBodyByte, err := json.Marshal(reqBody)if err != nil {return "", err}global.GIN_LOG.InfoWithContext(ctx, fmt.Sprintf("SendRequest method:%+v,url:%+v,body:%+v", "POST", url, string(reqBodyByte)))// 创建一个新的请求req, err = http.NewRequest("POST", url, strings.NewReader(string(reqBodyByte)))if err != nil {return "", err}for key, value := range header {req.Header.Set(key, value)}client := &http.Client{}resp, err := client.Do(req)if err != nil {return "", err}defer resp.Body.Close()body, err := io.ReadAll(resp.Body)if err != nil {return "", err}global.GIN_LOG.InfoWithContext(ctx, fmt.Sprintf("SendRequest response body:%+v", string(body)))return string(body), nil
}

后续

改了之后,进行多次测试,发现不是一个接口有问题,出现这个问题的规律变得不一定,再测试发现还是属于域名解析有问题。内部服务之间调用,采取svc方式。

在Kubernetes(常简称为K8s)中,Service(简称Svc)是一个核心概念,用于定义应用程序访问服务的方式。它提供了一种将Pod组织起来以及暴露他们的方法,以保证其他应用能够访问到这些应用。Service允许我们为一组Pod提供一个统一的入口,实现负载均衡、服务发现和解耦应用层与网络层的关系。具体来说,Svc具有以下特点:

  • 服务发现:Svc可以防止因滚动升级等因素导致Pod IP发生改变而失联,找到提供同一个服务的Pod。
  • 负载均衡:Svc可以定义一组Pod的访问策略。
http://www.yayakq.cn/news/520325/

相关文章:

  • 网站的内链建设展厅设计理念和设计构思
  • 湖北省建设银行网站6智慧景区网站建设
  • 冠县网站建设电话网络规划设计师教程第二版电子书
  • 网易那个自己做游戏的网站是什么江苏启安建设集团有限公司网站
  • wordpress 采集功能宁波seo关键词优化案例
  • 如何在网站后台做网页济宁优化推广
  • led 网站模板哪些人不适合学平面设计
  • 常德做网站建设的公司做网站图片切图可以用中文吗
  • 潍坊哪里做网站网站建设推广是什么
  • 两学一做 网站南宁建站公司
  • 新媒体运营哪个培训机构好搜外seo
  • 广州天河网站开发公司关于网站建设 策划文案
  • 房地产微网站中国企业500强标准
  • 网站注建设银行etc信用卡申请网站
  • 中投建设集团有限公司 网站会计专业简历制作
  • 搜房网网站跳出率工作空窗期怎么缴纳社保
  • 做网站的图片大小是多少网站设计的经营范围
  • 可口可乐网站建设大连网站建设报价
  • 农业推广网站建设WordPress文章白色标签
  • 网站推广营销步骤济南网签查询
  • 网站目录文件查看wordpress时间轴插件
  • 怎么才能搜索到自己做的网站广药网站建设试卷
  • 通信科技网站设计房产资讯的网站怎么做
  • 建做网站网店装修图
  • 长春自助建站软件怎么敲代码做网站
  • i5 7500网站开发网站建设管理相关规定
  • wordpress站内计费搜索wordpress页首文件
  • 建一个外贸网站要多少钱注册小规模公司需要什么资料
  • 中国网站建设网页设计哪里培训网站开发好
  • 扁平化网站建设公司信息港怎么发布信息