curl无法从网址获得完整的响应

时间:2011-09-24 16:06:39

标签: curl libcurl

我在centos 5.5中使用curl并像下面一样卷曲以获得来自url的响应:

curl 7.21.2 (x86_64-unknown-linux-gnu) libcurl/7.21.2 OpenSSL/0.9.8b zlib/1.2.3     libidn/0.6.5
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smtp smtps  telnet tftp 
Features: IDN IPv6 Largefile NTLM SSL libz

http://www.51buy.com/portal.html,我可以得到回复,但它不完整,例如你找不到'934',但'934'确实在那个html源代码上。

另一方面,在我的窗户上,我使用了下面的卷曲版本

curl 7.21.2 (i386-pc-win32) libcurl/7.21.2 OpenSSL/0.9.8o zlib/1.2.5 libidn/1.18 libssh2/1.2.7 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp  scp sftp smtp smtps telnet tftp
Features: AsynchDNS IDN Largefile NTLM SSL SSPI libz

并获得相同的网址,它可以得到完整的回复。

任何人都可以给我一些帮助我解决问题的线索吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

大多数情况下,当您得到不同的回复时,这是因为网站会根据您的用户代理或类似情况尝试执行不同的操作。

为了伪造它,弄清楚你的浏览器发送的确切请求,然后尽可能地模仿它通常是一种成功的方法。

在这种情况下,由于curl的windows版本似乎有效,你可以尝试将linux中的用户代理设置为看起来像windows curl版本......

由于您没有包含任何特定的协议细节,我们无法进一步猜测实际内容。