我在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
并获得相同的网址,它可以得到完整的回复。
任何人都可以给我一些帮助我解决问题的线索吗? 提前谢谢。
答案 0 :(得分:0)
大多数情况下,当您得到不同的回复时,这是因为网站会根据您的用户代理或类似情况尝试执行不同的操作。
为了伪造它,弄清楚你的浏览器发送的确切请求,然后尽可能地模仿它通常是一种成功的方法。
在这种情况下,由于curl的windows版本似乎有效,你可以尝试将linux中的用户代理设置为看起来像windows curl版本......
由于您没有包含任何特定的协议细节,我们无法进一步猜测实际内容。