Curl返回RHEL5/6/7上损坏的数据

Curl返回RHEL5/6/7上损坏的数据,curl,libcurl,Curl,Libcurl,我在RHEL5、6和7盒上尝试了这一点——在所有情况下,返回的数据都已损坏 运行时: curl https://my-server/my/web/service/service_name?xsd=../common/common_simple.xsd 返回的数据与我在Windows上通过web浏览器获得的数据不同 此外,wget在cmd行中也可以正常工作 预期结果与我使用curl得到的结果之间的差异如下: 431,432c431,432 < <!-- [\-\s0

我在RHEL5、6和7盒上尝试了这一点——在所有情况下,返回的数据都已损坏

运行时:

curl https://my-server/my/web/service/service_name?xsd=../common/common_simple.xsd 
返回的数据与我在Windows上通过web浏览器获得的数据不同

此外,wget在cmd行中也可以正常工作

预期结果与我使用curl得到的结果之间的差异如下:

431,432c431,432
<       <!--   [\-\s0-9a-zA-Z]{1,30}   -->
<       <xs:simpleType name="Test123ModelType">
---
>       <!--   [\-\s0-9a-boolean">
>               </xs:r  <xs:simpleType name="Test123ModelType">
以上两行是两个文件之间的唯一区别。其余内容完全相同

在所有服务器上检索的文件大小在所有情况下都相同,包括预期内容和损坏内容

另一个有趣的转变是,这种情况大多数时候都会发生,但不是每次都会发生。大约每执行10次,它就会返回正确的内容

文件大小为26566字节

更新: 我使用-trace选项运行了curl,在跟踪输出中看到了以下内容:

<= Recv data, 8208 bytes (0x2010)
1000: 2d 5c 73 30 2d 39 61 2d 62 6f 6f 6c 65 61 6e 22 -\s0-9a-boolean"
1010: 3e 0a 09 09 3c 2f 78 73 3a 72 09 3c 78 73 3a 73 >...</xs:r.<xs:s
1020: 69 6d 70 6c 65 54 79 70 65 20 6e 61 6d 65 3d 22 impleType name="
看起来损坏的数据来自服务器。但是,我不明白的是,为什么它通过浏览器和wget工作得很好

更新:尝试在Linux上运行时指定几个不同的代理字符串-未观察到任何行为变化

更新:尝试在Windows 7上运行相同的,同时使用winssl和openssl版本的curl,但无法重现该问题。还尝试在Linux上通过lynx文本浏览器运行-也没有以这种方式重现问题


非常感谢您提出任何解决方案/疑难解答的想法。

作为第一个测试,请尝试使用-a更改curl发送的用户代理字符串,看看这会有什么变化。我在useragentstrings.com上尝试了几个不同的用户代理字符串,结果是一样的。您解决过这个问题吗?没有,最终没有使用curl。